PHP头条
热点:

php的汉字转换GBK-UnicodeUTF8



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 "&#x".$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:&#x4E2D;&#x6587;&#x41;&#x62;&#x63;调用内置函数htmlDec:&#20013;&#25991;&#65;&#98;&#99;调用内置函数escape:%u4E2D%u6587Abc调用内置函数u2utf8:%e4%b8%ad%e6%96%87Abc调用自定义函数:[4E2D][6587][41][62][63]ps.该文章现仅限在csdn文档中心,如要转载,请和作者联系,否则后果自负。 </p> <p align="left"><div style="display:none;"><span id="url" itemprop="url">/phprm/38489.html</span><span id="indexUrl" itemprop="indexUrl">www.phpzy.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">/phprm/38489.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description">php的汉字转换GBK-UnicodeUTF8 php的汉字转换一直是比较麻烦的事 该类内置了四个函数"htmlHex","htmlDec","escape","u2utf8" 方便用户的使用,同时也可自定义函数进行自己喜欢的操作 qswhGBK.php 从这...</span></div></p></div> <div class="art_confoot"><script src='http://www.phpzy.com/ad/art_confoot.js' type="text/javascript"></script></div> <div class="page"></div> <div class="post-related"> <h3 class="tit_3">相关文章</h3><div class="clearfix m_5"> <ul> 暂无相关文章</ul></div> </div> <div class="option-btns"> <div class="art_confoot"><script src='http://www.phpzy.com/ad/xgart_confoot.js' type="text/javascript"></script></div> </div> <div id="related_reading" class="haman-box"> <ul class="xgyd clearfix"> <div class="xgyd_new"><span class="fast-nav-bar"><a href="http://www.phpzy.com/fenlei/list-11-1.html">今日最新</a></span><strong>相关阅读:</strong></div> <li><a href="/phprm/38488.html">使用PHP4中的IntegratedTemplate类实现HTML和PHP代码</a></li> <li><a href="/phprm/38487.html">php新手入门经验谈</a></li> <li><a href="/phprm/38486.html">PHP,21世纪的霸主德国人写的文章,吹的神乎</a></li> <li><a href="/phprm/38485.html">PHP实现文件上传的一种好方法</a></li> <li><a href="/phpyy/38484.html">php删除数组中重复元素的方法</a></li> <li><a href="/phpyy/38483.html">windows平台中配置nginx+php环境</a></li> </ul></div> <footer><div class="hot_c"><span><b>相关频道:</b> <a href="/fenlei/list-1-1.html" >php教程</a>&nbsp;&nbsp;<a href="/fenlei/list-2-1.html" >php安全</a>&nbsp;&nbsp;<a href="/fenlei/list-3-1.html" >php面试题</a>&nbsp;&nbsp;<a href="/fenlei/list-4-1.html" >php框架</a>&nbsp;&nbsp;<a href="/fenlei/list-6-1.html" >php入门</a>&nbsp;&nbsp;<a href="/fenlei/list-7-1.html" >php问答</a>&nbsp;&nbsp;<a href="/fenlei/list-8-1.html" >php应用</a>&nbsp;&nbsp;<a href="/fenlei/list-10-1.html" >php职业规划</a>&nbsp;&nbsp;<a href="/fenlei/list-11-1.html" >今日最新</a>&nbsp;&nbsp;<a href="/fenlei/list-5-1.html" >php资讯</a>&nbsp;&nbsp;</span></div> </footer> </div> <div class="info_more" id="info_more"></div> <div class="clearfix mt10 art_commentstop" id="commentTopAd"><script src='http://www.phpzy.com/ad/art_commentstop.js' type="text/javascript"></script></div> <div id="hm_t_46468"></div> <a name="comment"></a><div class="comment" id="commentTopAd" itemprop="comment"><h3>PHP之友评论</h3></div> <div class="wb_comment_box" id="commentsiframe"><script type="text/javascript" src='http://www.phpzy.com/ad/comments.js'></script></div> </article> <div class="syzp mt10" style="overflow:hidden;"><div class="tit_7">今天推荐</div><script type="text/javascript" src="http://www.phpzy.com/ad/left_foot_ad.js"></script></div> </div> <aside class="right" id="main_right"> <div class="art_rightad1"><script src='http://www.phpzy.com/ad/art_rightad1.js' type="text/javascript"></script></div> <div class="r_bd mt10 pb10"> <div class="tit_5 tit_6">php入门最近更新</div> <ul id="bbsRank_1" class="rank_ul2 rank_dot" style="border-top:1px solid #AAC5F2;margin-top: -1px;"> <li><a href="/phprm/38489.html">php的汉字转换GBK-UnicodeUTF8</a> </li> <li><a href="/phprm/38488.html">使用PHP4中的IntegratedTemplate类实现HTML和P</a> </li> <li><a href="/phprm/38487.html">php新手入门经验谈</a> </li> <li><a href="/phprm/38486.html">PHP,21世纪的霸主德国人写的文章,吹的</a> </li> <li><a href="/phprm/38485.html">PHP实现文件上传的一种好方法</a> </li> </ul></div> <div class="art_rightad2 mt10"><script src='http://www.phpzy.com/ad/art_rightad2.js' type="text/javascript"></script></div> <div class="r_bd mt10 pb10"> <div class="tit_5 tit_6">热门推荐</div> <ul id="bbsRank_1" class="rank_ul2 rank_dot" style="border-top:1px solid #AAC5F2;margin-top: -1px;"> <li><a href="/phprm/20071.html">php数组页面间的传递</a> </li> <li><a href="/phprm/29981.html">如何使用PHP编程说明</a> </li> <li><a href="/phprm/28233.html">研究php中break,continue,exit的应用与区别</a> </li> <li><a href="/phprm/7450.html">怎么在JS中得到PHP的变量值</a> </li> <li><a href="/phprm/6884.html">关于php的socket,该如何解决</a> </li> </ul> </div> <div class="r_bd mt10 pb10"><div style="margin-top: 0pt;" class="tit_5 tit_6">有意思</div> <script type="text/javascript" src="http://www.phpzy.com/ad/right_ad5.js"></script></div> <div class="art_rightad3"><script src='http://www.phpzy.com/ad/art_rightad3.js' type="text/javascript"></script></div> <div id="focus_look" class="instant-focus mt10"><div class="instant-focus-header clearfix"><h3>实时看点</h3><span>看啥好</span></div> <script type="text/javascript" src="http://www.phpzy.com/ad/right_ad6.js"></script></div> <div class="art_rightad4 mt10"><script src='http://www.phpzy.com/ad/art_rightad4.js' type="text/javascript"></script></div> </aside></div></div> <footer id="footer" class="div_body"> <script type="text/javascript" src="http://www.phpzy.com/ad/arc_foot_ad.js"></script> <script type="text/javascript" src="http://www.phpzy.com/templets/js/foot.js"></script> <div style="display:none;"><script src='http://www.phpzy.com/ad/tongji.js' type="text/javascript"></script></div> <div id="roll"></i><a title="回顶部" id="roll_top" href="#top" style="opacity: 0.7;" target="_self" rel="nofllow"></a></div> </footer> <script type="text/javascript" src="http://www.phpzy.com/ad/maintop.js?131231"></script> </body> </html>