技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> PHP --> UTF-8编码内简繁互转的PHP实现

UTF-8编码内简繁互转的PHP实现

浏览:2816次  出处信息

昨天,因为项目需要对文字进行简繁互转,网上基本上是内码互转,即GB2312编码和BIG5编码之间的互转,我始终是UTF-8编码。关于UTF-8内的简繁互转,只有1篇,但被可耻的转了N次,占据了几页搜索页。我随便试了下,发现可以,等正式放到项目中才发现,只有一部分是正常的,只好自己想办法了。突然想到PHP的iconv函数,这是一个内码转换的函数,表面上看好像和我的需求不符,其实不然,我们可以通过曲线救国的方式来实现。先将UTF-8(简体字)转为GB2312编码,再将GB2312编码转为BIG5编码,然后再将BIG5转为UTF-8,这样比正常直接转多了2步,应该会有不少性能损失,具体损失多少,还没测试。到目前为止,还没有发现有不能转的字。下面放出代码:

  1. class ChineseTransfer {
  2.    
  3.     public static function big5_gb2312($in) {
  4.         $in = iconv('UTF-8', 'BIG5', $in);
  5.         $in = iconv('BIG5', 'GB2312', $in);
  6.         $out = iconv('GB2312', 'UTF-8', $in);
  7.         return $out;
  8.     }
  9.    
  10.     public static function gb2312_big5($in) {
  11.         $in = iconv('UTF-8', 'GB2312', $in);
  12.         $in = iconv('GB2312', 'BIG5', $in);
  13.         $out = iconv('BIG5', 'UTF-8', $in);
  14.         return $out;
  15.     } 
  16. }

建议继续学习:

  1. 字符编码和中文乱码小叙    (阅读:5703)
  2. 中文编码杂谈    (阅读:4988)
  3. Hadoop的map/reduce作业输入非UTF-8编码数据的处理原理    (阅读:4666)
  4. PHP编码规范    (阅读:4406)
  5. base64_encode 和 urlencode    (阅读:4130)
  6. UTF-8编码中BOM的检测与删除    (阅读:4083)
  7. Linux screen窗口中文乱码问题    (阅读:4008)
  8. Unicode与字符汉字相互转换    (阅读:3980)
  9. python-django的中文编码总结    (阅读:3846)
  10. JAVASCRIPT完美实现UTF8页面提交数据到GB2312    (阅读:3642)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1