php的汉字转换GBK-UnicodeUTF8_PHP教程
                        
                            时间:2021-07-01 10:21:17
                            帮助过:15人阅读
							                        
                     
                    
                    php的汉字转换一直是比较麻烦的事
该类内置了四个函数"htmlHex","htmlDec","escape","u2utf8"
方便用户的使用,同时也可自定义函数进行自己喜欢的操作
qswhGBK.php 从这里下载
http://www.blueidea.com/user/qswh/qswhGBK.zip
class qswhGBK{
 var $qswhData;
 function qswhGBK($filename="qswhGBK.php"){
 $this->qswhData=file($filename);
 }
 function gb2u($gb,$callback=""){
 /******(qiushuiwuhen 2002-8-15)******/
 $ret="";
 for($i=0;$i
 if(($p=ord(substr($gb,$i,1)))>127){
 $q=ord(substr($gb,++$i,1));
 $q=($q-($q>128?65:64))*4;
 $q=substr($this->qswhData[$p-128],$q,4);
 }
 else
 $q=dechex($p);
 if(empty($callback))
 $ret.=$q;
 else {
 $arr=array("htmlHex","htmlDec","escape","u2utf8");
 if(is_integer($callback)){
 if($callback>count($arr))die("Invalid Function");
 $ret.=$this->$arr[$callback-1]($q);
 }else
 $ret.=$callback($q);
 }
 }
 return $ret;
 }
 function htmlHex($str){
 return "".$str.";";
 }
 function htmlDec($str){
 return "".hexdec($str).";";
 }
 function escape($str){
 return hexdec($str)<256?chr(hexdec($str)):"%u".$str;
 }
 function u2utf8($str){
 /******(qiushuiwuhen 2002-8-15)******/
 $sp="!()*-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~";
 $dec=hexdec($str);
 $bin=decbin($dec);
 $len=strlen($bin);
 $arr=array("c0","e0","f0");
 if($dec>0x7f){
 $ret="";
 for($i=$len,$j=-1;$i>=0;$i-=6,$j++){
 if($i>6)
 $ret="%".dechex(0x80+bindec(substr($bin,$i-6,6))).$ret;
 else
 $ret="%".dechex(hexdec($arr[$j])+bindec(substr($bin,0,6-$i))).$ret;
 }
 }else{
 if(strpos($sp,chr($dec)))
 $ret=chr($dec);
 else
 $ret="%".strtolower($str);
 }
 return $ret;
 }
}
使用范例
$words="中文Abc";
function ex($str){return "[".$str."]";}
$qswh=new qswhGBK("qswhGBK.php");//如果文件名是qswhGBK.php,可省参数echo("不带参数:".$qswh->gb2u($words));echo("
调用内置函数htmlHex:".$qswh->gb2u($words,1));echo("
调用内置函数htmlDec:".$qswh->gb2u($words,2));echo("
调用内置函数escape:".$qswh->gb2u($words,3));echo("
调用内置函数u2utf8:".$qswh->gb2u($words,4));echo("
调用自定义函数:".$qswh->gb2u($words,ex));效果如下:不带参数:4E2D6587416263调用内置函数htmlHex:中文Abc调用内置函数htmlDec:中文Abc调用内置函数escape:%u4E2D%u6587Abc调用内置函数u2utf8:%e4%b8%ad%e6%96%87Abc调用自定义函数:[4E2D][6587][41][62][63]ps.该文章现仅限在csdn文档中心,如要转载,请和作者联系,否则后果自负。						
http://www.bkjia.com/PHPjc/532056.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/532056.htmlTechArticlephp的汉字转换一直是比较麻烦的事 该类内置了四个函数"htmlHex","htmlDec","escape","u2utf8" 方便用户的使用,同时也可自定义函数进行自己喜欢的...