百度空间 | 百度首页 
 
查看文章
 
被忽视的mb_convert_encoding用法
2008年04月08日 星期二 下午 09:41
作者:老王

印象中,已经遇到好几次类似“老王”这个样子的”乱码“了,每次都是到处Google找转换方法,今天才发现mb_convert_encoding本身就可以实现这个功能:

echo mb_convert_encoding('老王', 'UTF-8', 'HTML-ENTITIES');

补充:还有一种javascript使用escape处理的编码,看上去就象这样:%u5B9D%u9A6C,使用PHP来unescape这样的编码是件很恼火的事情,相对简单的方法是:

json_decode(str_replace('%', '\\', '"%u5B9D%u9A6C"'));

参考链接:unescape,json_decode另类用法

类别:Php | 添加到搜藏 | 浏览() | 评论 (7)
 
网友评论:
1
2008年04月09日 星期三 上午 08:40 | 回复
http://piwik.org/
 
2
2008年04月11日 星期五 下午 07:35 | 回复
这个mb_XX_XXXX 经常用。
 
3
2008年04月17日 星期四 上午 10:37 | 回复
确实 学习下 还我原来 写好几个函数来处理 这个转码的问题
 
4
2008年04月24日 星期四 上午 11:23 | 回复
哗噻~,真帅。我以前是这样去解决的 function unescape($str){ $str = rawurldecode($str); preg_match_all("/&#(\d+);/U",$str,$r); $arr = $r[1]; $cstr = array(); foreach($arr as $number){ $cstr[] = iconv("UCS-2","GBK",pack("n",$number)); } return join("",$cstr); } 弄得很郁闷。
 
5
2008年07月04日 星期五 上午 11:23 | 回复
老王的这个方法很棒。:)
 
6
2008年07月25日 星期五 下午 02:30 | 回复
看评论真是被忽视了,很多人把mb_string扩展都扔到地狱去了。。。 中文当然得用mb_
 
7
2008年07月25日 星期五 下午 08:13 | 回复
顶一下
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu