gbk编码下中文JSON的解决方案

(版权申明:文章为本人原创,转载请注明出处 TeamWiki.cn 作者:屈伟 Email:kenvinqu(at)gmail(dot)com )

  1. PHP自带的 json_encode ,只支持UTF-8的中文, gbk编码下中文会空白。并且该函数php5.2以上才有
  2. pear里的 Services_JSON 对php版本没有要求,但是也不支持gbk编码的中文。 gbk编码下,虽然中文不空白,但js输出空白。

解决方案

仔细读了Services_JSON 的代码,发现把中文字符转码为十六进制,发现完全没有必要。其实遇到中文直接显示就好了。 如:

{"id":2,"name":"我靠靠"}

动手改丫的Services_JSON 的源码了。 在 255 行 ( case 'string': 下一行),加上

 return "'".str_replace(array("\n","\r","'"),array("<br />","","\'"),htmlspecialchars($var))."'";

搞定。

应用

pear的Services_JSON 的下载地址:

http://pear.php.net/pepr/pepr-proposal-show.php?id=198

php/json.txt · 最后更改: 2008/10/01 11:34 由 58.31.68.160
到顶部
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0 红麦软件 红麦软件