Post Jobs

Oracle应用软件帮助企业实现管理变革,用php实现gb2312和unicode间的编码转换

作为一个数据库软件,Visual FoxPro
5.0不仅具有管理它本身数据的功能,还可以与其他应用程序集成,获取其他应用程序提供的数据。另外,通过Visual
FoxPro 5.0,还可以将表或视图中的数据与Microsoft
Word文档合并,产生邮件合并文档或者通过通用型字段嵌入或链接其他OLE对象。1.导入数据所谓导入数据,就是指从另一个应用程序复制数据,然后在Visual
FoxPro 5.0中创建一个新表,并用源文件的数据填充该表。在Visual FoxPro
5.0中,可以导入多种文件类型的数据。如果想使用FoxPro或dBASE文件中的表,可以直接打开并使用它们而不必导入。Visual
FoxPro 5.0将询问你是否把表转换为Visual FoxPro
5.0格式。一旦将表从以前的版本转换成最新版本,就不能再用以前的版本打开。在导入数据时,既可以使用“导入向导”,也可以使用“导入”对话框。2.把数据追加到已有的表在执行导入操作时,除了将数据导入到一个新表以外,你还可以将它导入到一个已有的文件中。在选择将数据导入到一个已有的文件时,Visual
FoxPro
5.0将把数据追加到已有文件的后面。除了使用“导入向导”将要导入的数据追加到已有的文件以外,还可以使用“追加来源”对话框追加数据。在使用“追加来源”对话框追加数据时,首先应从“浏览”窗口中打开要追加记录的表。默认情况下,Visual
FoxPro
5.0将源文件中所有记录和字段都追加到当前打开的表中,但是使用“追加来源”选项,可以指定要追加哪些字段或记录。3.导出数据在Visual
FoxPro 5.0中,不仅可以从其他应用程序中导入或追加数据,而且还可以把Visual
FoxPro
5.0表中存储的数据导出到另一种格式的文件中,供其他应用程序使用。所谓导出,就是指把数据从Visual
FoxPro 5.0表复制到其他应用程序所用的文件中。在Visual FoxPro
5.0数据库中,可以将数据存储为多种文件类型。在Visual FoxPro
5.0中,可以使用“导出”对话框导出数据。在导出数据时,既可以导出指定表中的全部字段和记录,也可以只导出其中的一部分。用户可以定义要导出哪些字段和记录。4.创建邮件合并文件我们知道,在Word中使用“工具”菜单中的“邮件合并”功能,可以将标准文本与单一信息的列表链接成新的文档,包括套用信函、带地址的信封、电子邮件和传真文档。在Visual
FoxPro
5.0中,利用“邮件合并向导”同样也可以完成上述功能。“邮件合并向导”实际上是将Visual
FoxPro 5.0和Microsoft Word两种应用程序集成在一起,使得Microsoft
Word能够共享Visual FoxPro
5.0表或视图中包含的数据,利用这些数据打印一批相同格式的文档。在日常生活中,这种方法是很有用的。5.嵌入或链接OLE对象上述几种方法都只能使Visual
FoxPro
5.0静态地共享其他应用程序生成的数据。为了能够动态地共享其他应用程序生成的数据,Visual
FoxPro
5.0还提供了嵌入或链接数据的方法。嵌入和链接数据的方法是通过通用型字段实现的,用户可以通过通用型字段在表或表单中嵌入或链接其他应用程序的数据,同时仍用那些应用程序维护这些数据。在Visual
FoxPro 5.0中,外部数据一般都是嵌入或链接在表或表单中的。

1月14日,全球最大的企业软件供应商――甲骨文公司在上海与业界分享了Oracle应用软件策略的新篇章,即利用全面、集成、开放的Oracle应用软件和解决方案帮助企业完成业务变革并获得通往未来的成功之路,使企业变得更灵活、给客户提供更多价值,同时能有效控制成本,抵御风险,在多变的环境中不断增强其竞争力。

gb2312 和 unicode 间的编码转换 下面的例子是将 gb2312 转换为 “”这种形式
php4.3.1以后的iconv函数很好用的,只是需要自己写一个uft8到unicode的转换函数
查表(gb2312.txt)也行 代码如下: ? $text = “脚本之家”;
preg_match_all(“/[/x80-/xff]?./”,$text,$ar); foreach($ar[0] as $v)
echo “”.utf8_unicode(iconv(“GB2312″,”UTF-8″,$v)).”;”; ? ? // utf8 –
unicode function utf8_unicode($c) { switch(strlen($c)) { case 1: return
ord($c); case 2: $n = (ord($c[0]) & 0x3f) 6; $n += ord($c[1]) &
0x3f; return $n; case 3: $n = (ord($c[0]) & 0x1f) 12; $n +=
(ord($c[1]) & 0x3f) 6; $n += ord($c[2]) & 0x3f; return $n; case 4:
$n = (ord($c[0]) & 0x0f) 18; $n += (ord($c[1]) & 0x3f) 12; $n +=
(ord($c[2]) & 0x3f) 6; $n += ord($c[3]) & 0x3f; return $n; } } ?
下面的例子是利用php将””这中编码转换为gb2312. 代码如下: ?php $str =
“TTL”; $str = preg_replace(“|([0-9]{1,5});|”, “/”.u2utf82gb(//1)./””,
$str); $str = “/$str=/”$str/”;”; eval($str); echo $str; function
u2utf82gb($c){ $str=””; if ($c 0x80) { $str.=$c; } else if ($c 0x800) {
$str.=chr(0xC0 | $c6); $str.=chr(0x80 | $c & 0x3F); } else if ($c
0x10000) { $str.=chr(0xE0 | $c12); $str.=chr(0x80 | $c6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F); } else if ($c 0x200000) { $str.=chr(0xF0 |
$c18); $str.=chr(0x80 | $c12 & 0x3F); $str.=chr(0x80 | $c6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F); } return iconv(‘UTF-8’, ‘GB2312’, $str); }
? 或者是 代码如下: function unescape($str) { $str = rawurldecode($str);
preg_match_all(“/(?:%u.{4})|.{4};|/d+;|.+/U”,$str,$r); $ar = $r[0];
print_r($ar); foreach($ar as $k=$v) { if(substr($v,0,2) == “%u”)
$ar[$k] = iconv(“UCS-2″,”GB2312”,pack(“H4”,substr($v,-4)));
elseif(substr($v,0,3) == “”) $ar[$k] =
iconv(“UCS-2″,”GB2312”,pack(“H4”,substr($v,3,-1)));
elseif(substr($v,0,2) == “”) { echo substr($v,2,-1).”br”; $ar[$k] =
iconv(“UCS-2″,”GB2312”,pack(“n”,substr($v,2,-1))); } } return
join(“”,$ar); } $str = “TTL”; echo unescape($str); //out
TTL全天候自动聚焦 利用javascript来转换 代码如下: style BODY {
FONT-SIZE: 9pt; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM:
0px; PADDING-TOP: 0px; } input { FONT-SIZE: 9pt; height: 13pt; } /style
script language=”JavaScript1.2″ /* This following code are designed and
writen by Windy_sk seasonx@163.net You can use it freely, but u must
held all the copyright items! */ function Str2Unicode(str){ var arr =
new Array(); for(var i=0;istr.length;i++){ arr[i]=”” +
str.charCodeAt(i) + “;”; } return(arr.toString().replace(/,/g,””)); }
function Unicode2oStr(str){ var re=/[/da-fA-F]{1,5};/ig; var
arr=str.match(re); if(arr==null)return(“”); for(var
i=0;iarr.length;i++){
arr[i]=String.fromCharCode(arr[i].replace(/[]/g,””)); }
return(arr.toString().replace(/,/g,””)) } function modi_str(){
if(document.all.text.method.checked){
if(document.all.text.decode.value!=””){ document.all.text.encode.value =
Str2Unicode(document.all.text.decode.value); }else{
document.all.text.decode.value =
Unicode2oStr(document.all.text.encode.value); } }else{
if(document.all.text.encode.value!=””){ document.all.text.decode.value =
Unicode2oStr(document.all.text.encode.value); }else{
document.all.text.encode.value =
Str2Unicode(document.all.text.decode.value); } } } /script
titleUnicode/title form name=text 文本原型:br textarea name=”decode”
cols=”100″ rows=”10″/textarea br 转换代码:br textarea name=”encode”
cols=”100″ rows=”10″/textarea br input type=”checkbox” name=”method”
checked 正向转换 input type=button onclick=”modi_str()” value=” 确 定 ”
input type=reset value=” 清 空 ” input type=button
onclick=”document.all.text.method.checked?document.all.text.encode.select():document.all.text.decode.select()”
value=” 全 选 ” /form 下面是一个显示所有全角半角的字体的查看例子
代码如下: style BODY { FONT-SIZE: 9pt; PADDING-RIGHT: 0px;
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; } input {
FONT-SIZE: 9pt; height: 13pt; } /style script function showUni(min,max){
show.document.open();
show.document.writeln(“stylebody{font-size:9pt;word-break:break-all;}/style”);
show.document.writeln(min + ” – ” + max + “brbr”); var i=0;
for(i=min;i=max;i++){ show.document.write(“” + i + “;”); }
show.document.close(); } /script input type=button value=”半角”
onclick=showUni(32,126) input type=button value=”全角”
onclick=showUni(65281,65374) input type=button value=”中文1″
onclick=showUni(19968,40869) input type=button value=”中文2″
onclick=showUni(63744,64045) input type=button value=”日文平”
onclick=showUni(12353,12435) input type=button value=”日文片”
onclick=showUni(12449,12534) input type=button value=”韩文”
onclick=showUni(44032,55203) br自定义:input name=min – input name=max
input type=button value=”察看”
onclick=showUni(parseInt(document.all.min.value),parseInt(document.all.max.value))
br iframe src=”about:blank” id=show width=100% height=70%
scroll=no/iframe 下面是一个查表(gb2312),转换gb2312到utf8的例子,
现在有iconv函数,这个已经没有太大的意义了, 代码如下: ? function
gb2utf8($gb){ if(!trim($gb)) return $gb; $filename=”gb2312.txt”;
$tmp=file($filename); $codetable=array();
while(list($key,$value)=each($tmp))
$codetable[hexdec(substr($value,0,6))]=substr($value,7,6); $utf8=””;
while($gb) { if (ord(substr($gb,0,1))127) { $this=substr($gb,0,2);
$gb=substr($gb,2,strlen($gb)-2);
$utf8.=u2utf8(hexdec($codetable[hexdec(bin2hex($this))-0x8080]));
}else{ $this=substr($gb,0,1); $gb=substr($gb,1,strlen($gb)-1);
$utf8.=u2utf8($this); } } return $utf8; } function u2utf8($c){ $str=””;
if ($c 0x80) { $str.=$c; } else if ($c 0x800) { $str.=chr(0xC0 | $c6);
$str.=chr(0x80 | $c & 0x3F); } else if ($c 0x10000) { $str.=chr(0xE0 |
$c12); $str.=chr(0x80 | $c6 & 0x3F); $str.=chr(0x80 | $c & 0x3F); } else
if ($c 0x200000) { $str.=chr(0xF0 | $c18); $str.=chr(0x80 | $c12 &
0x3F); $str.=chr(0x80 | $c6 & 0x3F); $str.=chr(0x80 | $c & 0x3F); }
return $str; } ?

随着互联网技术和即时通信的日益发展,无所不在的全球化竞争和虚拟化商业模式在极大地推动企业的变革,企业市场竞争的日益激烈。利用创新技术对现有业务进行变革、提高效率、增强敏捷性并降低风险,正成为各行各业各种规模企业的迫切需求。

在过去30多年里,甲骨文公司一直将技术创新作为核心竞争力所在。近年来,甲骨文公司用于研发的资金每年都在以大约20%的速度增长,通过不断的技术创新和一系列收购,甲骨文今天已发展成一家具有完整的企业软件产品的供应商。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图