php5.2JSON不能正确处理溶液中GB编码
php5.2新JSON功能很受欢迎,但测试发现在json_encode中国的处理是有问题的。
1。无法处理GB编码,所有GB代码都替换为空字符。
中国的2.utf8编码的编码为Unicode编码,这相当于Javascript的逃逸函数处理的结果。
复制代码代码如下所示:
*
为了正确地使用JSON,我们首先需要使用UTF8编码的编码,那么我们可以处理的结果json_encode回来咯,我们可以得到正确的结果。
我编写了一个简单的类来包装这两个函数。
**
类JSON {
公共静态函数编码($ STR){
为代码= json_encode($str);
返回preg_replace(# U({ 0-9a-f } +)# IE
}
公共静态函数解码($ STR){
返回json_decode($str);
}
}
使用时间
JSON:编码($代码);
JSON:解码($代码);
它可以正确处理 / * utf8编码的中文。
PS:GB中文编码,我们可以在第一个编码为UTF8编码,编码,解码和转换当UTF8 -> GB上。
此外,一般json_encode结果返回到客户端的使用。事实上,我们也可以使用Javascript的unescape功能解码的Unicode编码中国使之恢复到正确的中国。
或:标题= mb_convert_encoding美元($标题,'html-entities,美元-> _outcharset); / /任何编码在正常显示
******** /