+ -
当前位置:首页 → 问答吧 → josn_encode不能显示中文字符的奇怪现象

josn_encode不能显示中文字符的奇怪现象

时间:2011-05-05

来源:互联网

$arraydata=json_encode("这是---josn_encode---的测试");

echo $arraydata;

以上是PHP编码。

html显示如下:
"\u8fd9\u662f\uff0d--josn_encode--\uff0d\u7684\u6d4b\u8bd5"

=============================================
百思不得其解,搜索各类网络相关要点,好象都没有这样类似的问题。

我所有的都是utf-8编码,显示的是双字节的16进制编码。

尽管我都在PHP文件仿照ajaxreturn的编程设置了
        header("Content-Type:text/html; charset=utf-8");
        $arraydata=json_encode("这是---josn_encode---的测试");
        echo $arraydata;

结果还是一样的。

请高手火速帮助。谢谢。


==========
我的目的很简单。就是将查询的数据,转成json到客户端。然后供jquery使用。可是无论怎样也不能将文字显示出来,只有16字节符号。

作者: suxingshen   发布时间: 2011-05-05

实际上就是编码问题在作怪。
josn_encode出来的是utf-16,非英文数字等ASCII是双字节代码。
而网页用的是UTF8,非英文数字等ASCII是三字节代码。
可是我将josn_encode出来转成utf8,还是不行。网络上有相关类或函数。
有此经验者,请帮忙一下。

作者: suxingshen   发布时间: 2011-05-06