UTF-8编码内简繁互转的PHP实现
浏览:3289次 出处信息
昨天,因为项目需要对文字进行简繁互转,网上基本上是内码互转,即GB2312编码和BIG5编码之间的互转,我始终是UTF-8编码。关于UTF-8内的简繁互转,只有1篇,但被可耻的转了N次,占据了几页搜索页。我随便试了下,发现可以,等正式放到项目中才发现,只有一部分是正常的,只好自己想办法了。突然想到PHP的iconv函数,这是一个内码转换的函数,表面上看好像和我的需求不符,其实不然,我们可以通过曲线救国的方式来实现。先将UTF-8(简体字)转为GB2312编码,再将GB2312编码转为BIG5编码,然后再将BIG5转为UTF-8,这样比正常直接转多了2步,应该会有不少性能损失,具体损失多少,还没测试。到目前为止,还没有发现有不能转的字。下面放出代码:
- class ChineseTransfer {
- public static function big5_gb2312($in) {
- $in = iconv('UTF-8', 'BIG5', $in);
- $in = iconv('BIG5', 'GB2312', $in);
- $out = iconv('GB2312', 'UTF-8', $in);
- return $out;
- }
- public static function gb2312_big5($in) {
- $in = iconv('UTF-8', 'GB2312', $in);
- $in = iconv('GB2312', 'BIG5', $in);
- $out = iconv('BIG5', 'UTF-8', $in);
- return $out;
- }
- }
建议继续学习:
- 字符编码和中文乱码小叙 (阅读:6536)
- 中文编码杂谈 (阅读:5771)
- Hadoop的map/reduce作业输入非UTF-8编码数据的处理原理 (阅读:5228)
- PHP编码规范 (阅读:5124)
- UTF-8编码中BOM的检测与删除 (阅读:4759)
- base64_encode 和 urlencode (阅读:4736)
- Linux screen窗口中文乱码问题 (阅读:4808)
- Unicode与字符汉字相互转换 (阅读:4726)
- python-django的中文编码总结 (阅读:4568)
- JAVASCRIPT完美实现UTF8页面提交数据到GB2312 (阅读:4400)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:php的strtotime在处理am/pm时的一个BUG
后一篇:CI框架里用的验证码 >>
文章信息
- 作者:易水寒沙 来源: 易水小居
- 标签: 繁体 编码
- 发布时间:2011-09-19 23:34:53
建议继续学习
近3天十大热文
-
[903] WordPress插件开发 -- 在插件使用 -
[135] 解决 nginx 反向代理网页首尾出现神秘字 -
[56] 整理了一份招PHP高级工程师的面试题 -
[54] Innodb分表太多或者表分区太多,会导致内 -
[54] 如何保证一个程序在单台服务器上只有唯一实例( -
[52] 全站换域名时利用nginx和javascri -
[52] 海量小文件存储 -
[52] CloudSMS:免费匿名的云短信 -
[51] 用 Jquery 模拟 select -
[49] ps 命令常见用法
