PHP中,从服务器端接收到的json字符串前端有乱码如何解决

如题所述

<?phpclass Json{ public static function encode($str){ $code = json_encode($str); return preg_replace("#\\u([0-9a-f]+)#ie", "iconv('UCS-2', 'UTF-8', pack('H4', '\1'))", $code); } public static function decode($str){ return json_decode($str); }}?>用上面的代码可以解决在存储JSON生成的字串为乱码的问题友情提示:参数为UTF-8编码过的字串或在用UTF-8保存的程序中直接引用上面的两个静态方法附:php pack()函数说明pack压缩资料到位字符串之中。语法: string pack(string format, mixed [args]...);返回值: 字符串(二进制)函数种类: 资料处理内容说明本函数用来将资料压缩打包到位的字符串之中。本函数和 Perl 的同名函数功能用法完全相同。参数 format 为压缩的格式,见下表a 将字符串空白以 NULL 字符填满A 将字符串空白以 SPACE 字符 (空格) 填满h 十六进位字符串,低位在前H 十六进位字符串,高位在前c 有号字符C 无号字符s 有号短整数 (十六位,依计算机的位顺序)S 无号短整数 (十六位,依计算机的位顺序)n 无号短整数 (十六位, 高位在后的顺序)v 无号短整数 (十六位, 低位在后的顺序)i 有号整数 (依计算机的顺序及范围)I 无号整数 (依计算机的顺序及范围)l 有号长整数 (卅二位,依计算机的位顺序)L 无号长整数 (卅二位,依计算机的位顺序)N 无号短整数 (卅二位, 高位在后的顺序)V 无号短整数 (卅二位, 低位在后的顺序)f 单精确浮点数 (依计算机的范围)d 倍精确浮点数 (依计算机的范围)x 空位X 倒回一位@ 填入 NULL 字符到绝对位置使用范例<?>
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜