Chinaunix首页 | 论坛 | 博客
  • 博客访问: 540231
  • 博文数量: 166
  • 博客积分: 4038
  • 博客等级: 上校
  • 技术积分: 1115
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-14 23:29
文章分类

全部博文(166)

文章存档

2010年(12)

2009年(126)

2008年(28)

分类:

2009-04-20 16:40:16

- PHP自带的 json_encode ,只支持UTF-8的中文, gbk编码下中文会空白。并且该函数php5.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("","","\'"),htmlspecialchars($var))."'"; 搞定。
===== 应用 =====
* 搜狐调查系统 调查系统是gbk编码的,需要json输出,就采用了此类处理。
pear的Services_JSON 的下载地址: [[]]

阅读(2407) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~