您好,欢迎访问一九零五行业门户网

php汉字转码 GBK到Big5编码转换

//php汉字转码class qswhbig5{ var $qswhdata; function qswhbig5($filename=qswhbig5.php){ $this->qswhdata=file($filename); } function qswhstr($gb,$fail=){ /******(qiushuiwuhen 2002-9-6)******/ $ret=; for($i=0;$i if(($p=ord(substr($gb,$i,1)))>127){ $q=ord(substr($gb,++$i,1)); $tmp=$this->qswhdata[$p-128]; for($j=0;$j=$q)break; if($k==$q)$q=chr(hexdec(substr($tmp,$j+2,2))).chr(hexdec(substr($tmp,$j+4,2))); else if($fail==)$q=chr($p).chr($q); else $q=$fail; } else $q=chr($p); $ret.=$q; } return $ret; } function qswhfile($filename,$fail=){ /******(qiushuiwuhen 2002-9-6)******/ if(!file_exists($filename..qswh))copy($filename,$filename..qswh); $fp=fopen($filename,r+); $tmp=fread($fp,filesize($filename)); rewind($fp); fwrite($fp,$this->qswhstr($tmp,$fail)); fclose($fp); } function qswhdir($dirname,$fail=){ /******(qiushuiwuhen 2002-9-6)******/ $d = dir($dirname); while($entry=$d->read()) { if($entry==.||$entry==..)continue; $entry=$dirname./.$entry; if(is_dir($entry)) $this->qswhdir($entry,$fail); else{ if(substr($entry,-5)!=.qswh)$this->qswhfile($entry,$fail); } } $d->close(); return $c; } }
复制代码
使用范例:
$words=秋水无恨;
$qswh=new qswhbig5(qswhbig5.php); //qswhbig5.php,可省参数echo(
请选择编码big5查看:.$qswh->qswhstr($words));echo(/n编码一目录:.$qswh->qswhdir(test));echo(/n编码一文件:.$qswh->qswhfile(index.htm));
复制代码
使用说明:qswhstr中第二个参数代表如果没有对应的big5将替换的字,如果为空,则保留该字。将文件格式化后,记得要修改
其它类似信息

推荐信息