PHP头条
热点:

php的汉字转换:GBK至Big5


P>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("\n编码一目录:".$qswh->qswhDir("test"));<br />echo("\n编码一文件:".$qswh->qswhFile("index.htm"));</p> <p><br />使用说明:<br />qswhStr中第二个参数代表如果没有对应的Big5将替换的字,如果为空,则保留该字<br />将文件格式化后,记得要修改<meta中的content-type为Big。</p> <p align="left"><div style="display:none;"><span id="url" itemprop="url">/phpyy/10539.html</span><span id="indexUrl" itemprop="indexUrl">www.phpzy.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">/phpyy/10539.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description">php的汉字转换:GBK至Big5 P>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> <li><a href='/php/10533.html' title='PHP 高级编程(1)' target='_blank'>PHP 高级编程(1)</a></li><li><a href='/php/10531.html' title='Data URI scheme' target='_blank'>Data URI scheme</a></li><li><a href='/php/10524.html' title='phpsmarty函数扩展_php模板' target='_blank'>phpsmarty函数扩展_php模板</a></li><li><a href='/php/10523.html' title='PHP获取远程文件内容的函数代码' target='_blank'>PHP获取远程文件内容的函数代码</a></li><li><a href='/php/10522.html' title='phpSmarty模板生成html文档的方法_php模板' target='_blank'>phpSmarty模板生成html文档的方法_php模板</a></li><li><a href='/php/10521.html' title='PHP字符串加密函数(在指定时间内加密还原字符串' target='_blank'>PHP字符串加密函数(在指定时间内加密还原</a></li></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="/php/10538.html">php输出内容显示乱码怎么办</a></li> <li><a href="/php/10537.html">PHP 动态生成静态HTML页面示例代码</a></li> <li><a href="/php/10536.html">PHP编程风格规范分享</a></li> <li><a href="/php/10535.html">php object转数组示例</a></li> <li><a href="/php/10534.html">php读取mysql的简单实例</a></li> <li><a href="/php/10533.html">PHP 高级编程(1)</a></li> </ul></div> <footer><div class="hot_c"><span><b>相关频道:</b> </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="/phpyy/10539.html">php的汉字转换:GBK至Big5</a> </li> <li><a href="/phpyy/10489.html">PHP脚本的8个技巧</a> </li> <li><a href="/phpyy/10488.html">初学PHP的18个基础例程</a> </li> <li><a href="/phpyy/10487.html">使用PWS调试cgi,php</a> </li> <li><a href="/phpyy/10486.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="/phpyy/2677.html">phpftp连接时间过长的问题</a> </li> <li><a href="/phpyy/7390.html">phpMyAdmin3.3.1正式版发布_MySQL</a> </li> <li><a href="/phpyy/1035.html">php-请教loop里如何单独定义某条数据的样</a> </li> <li><a href="/phpyy/5868.html">PHP新手上路(六)</a> </li> <li><a href="/phpyy/6179.html">社区(php&amp;amp;&amp;amp;mysql)三</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>