现在的位置: 首页 > 综合 > 正文

php使用json_encode后出现中文乱码的解决方法

2018年01月29日 ⁄ 综合 ⁄ 共 458字 ⁄ 字号 评论关闭

json_encode会对中文以及链接中的斜杠等特殊字符进行转义。于是考虑使用php自带的urlencode函数先把字符串转好,防止json_encode进行转义操作,最后再使用urldecode还原

实例如下:

  1. $data =
    array(
  2. "姓名"
    =>
    "王思捷",
  3. "博客"
    =>
    "http://ilovetile.com"
  4. );
  5. echo
    json_encode($data);

以上代码将会输出:

{"\u59d3\u540d":"\u738b\u601d\u6377","\u535a\u5ba2":"http:\/\/ilovetile.com"}

如果把代码换成:

  1. $data =
    array(
  2. urlencode("姓名")
    =>
    urlencode("王思捷"),
  3. urlencode("博客")
    =>
    urlencode("http://ilovetile.com")
  4. );
  5. echo
    urldecode(json_encode($data));

则可以正常输出中文:

{"姓名":"王思捷","博客":"http://ilovetile.com"}

抱歉!评论已关闭.