如题,$vlaue是需要用json_encode()转换,里面包含有中文。执行后全是null,然后,在网上面找了一些资料,在前面加上下面一句:
$value = mb_check_encoding($value, 'UTF-8') ? $value : utf8_encode($value);结果不报错了,但是网页打开的却是乱码。应该如何处理这个情况?PHPJSONUTF-8编码乱码

解决方案 »

  1.   

    utf8_encode 是不行的
    要用 mb_convert_encoding 
      

  2.   

    用header指定下浏览器编码看看,页头加上:
    header("content-type:text/html;charset=utf-8");
      

  3.   


    我在php里面加header("content-type:text/html;charset=utf-8");,或是在html里面加<meta charset="utf-8" />
    效果都一样。。
      

  4.   


    $value = mb_check_encoding($value, 'UTF-8') ? $value : mb_convert_encoding($value, 'UTF-8');
    我换成这个还是和一样一样,执行php xxx.php得到的结果是:
    \u00c6\u00e4\u00cb\u00fb\u00d3\u00a6\u00d3\u00c3
      

  5.   

    你真够可以的!
    string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )从 from_encoding 到 to_encoding
    你没给 from_encoding 那不跟 utf8_encode 一样按字节转换吗?对于中文,不是 utf-8 就是 gbk 了(台湾地区还有 big5)
    怎么着也得 mb_convert_encoding($value, 'UTF-8', 'gbk') 吧