PHP头条
热点:

php的汉字转换GBK-Big5



php的汉字转换一直是比较麻烦的事
首先要说两点:
1.GBK的繁体字并不是Big5,但一般繁体字都有对应的Big码
2.一GBK码并不一定有对应的Big5码,所以一般是不可逆转换
该类内置了三个函数
qswhStr 格式化字符串
qswhFile 格式化一文件
qswhDir 格式化目录下所有文件(.qswh的除外,那是原先文档的备份)
qswhBig5.php 从这里下载
http://www.blueidea.com/user/qswh/qswhBig5.zip
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));<br>echo(" 编码一目录:".$qswh->qswhDir("test"));<br>echo(" 编码一文件:".$qswh->qswhFile("index.htm"));<br>使用说明:<br>qswhStr中第二个参数代表如果没有对应的Big5将替换的字,如果为空,则保留该字<br>将文件格式化后,记得要修改<meta中的content-type为Big。ps.该文章现仅限在csdn文档中心,如要转载,请和作者联系,否则后果自负。 </p> <p align="left"><div style="display:none;"><span id="url" itemprop="url">/phprm/38519.html</span><span id="indexUrl" itemprop="indexUrl">www.phpzy.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">/phprm/38519.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description">php的汉字转换GBK-Big5 php的汉字转换一直是比较麻烦的事 首先要说两点: 1.GBK的繁体字并不是Big5,但一般繁体字都有对应的Big码 2.一GBK码并不一定有对应的Big5码,所以一般是不可逆转换...</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="/phpyy/38518.html">PHP中对数组的一些常用的增、删、插操作函数</a></li> <li><a href="/phpyy/38517.html">PHP通过反射动态加载第三方类和获得类源码的</a></li> <li><a href="/phpyy/38516.html">PHP如何通过AJAX方式实现登录功能</a></li> <li><a href="/phpyy/38515.html">PHPcurl模拟登录带验证码的网站</a></li> <li><a href="/phpyy/38514.html">PHP防止刷新重复提交页面的示例代码</a></li> <li><a href="/phprm/38504.html">php5中const、define跟static</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/38519.html">php的汉字转换GBK-Big5</a> </li> <li><a href="/phprm/38504.html">php5中const、define跟static</a> </li> <li><a href="/phprm/38503.html">施用ZendStudio和ZendServer搭建PHP开发环境配</a> </li> <li><a href="/phprm/38502.html">CKEditor下传图片配置PHP语言</a> </li> <li><a href="/phprm/38501.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/902.html">php5中public,private,protected三种类属性的区别</a> </li> <li><a href="/phprm/29804.html">PHP合并数组array_merge函数运算符加号与的</a> </li> <li><a href="/phprm/16439.html">关于压缩的一个有关问题,ZipArchive在PH</a> </li> <li><a href="/phprm/5950.html">PHP小程序解决思路</a> </li> <li><a href="/phprm/30739.html">cakephp中acl跟auth详解</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>