解决方法:1、设置json_encode()第二个参数的值为“JSON_UNESCAPED_UNICODE”即可;2、先把文本进行urlencode转码,再使用json_encode()编码,接着进行urldecode解码即可。
成都创新互联公司长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为临湘企业提供专业的成都网站建设、网站建设,临湘网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
推荐:《PHP视频教程》
json_encode()用于对变量进行JSON编码;成功则返回 JSON 编码的字符串 ,在失败时返回 FALSE 。
在编码过程中、经常会用到json_encode来处理中文、但是、出现一个问题、中文都会被转码、变为” \\u**** ”的格式、如何避免被转码、乱码呢?
方法1:PHP的版本为5.4以上;
echo json_encode( '中文' ); // "\\u4e2d\\u6587" echo json_encode( '中文', JSON_UNESCAPED_UNICODE ); // "中文"
说明:
语法:json_encode ( $value [, $options = 0 ] )
1、$value为要编码的值,且该函数只对UTF8编码的数据有效;
2、options:由以下常量组成的二进制掩码:
JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_PRESERVE_ZERO_FRACTION, JSON_UNESCAPED_UNICODE, JSON_PARTIAL_OUTPUT_ON_ERROR。
3、第二个参数一般不需要;
4、json数据其实就是一个string,可以用var_dump()打印出来看数据类型;
5、执行成功返回JSON数据,否则返回FALSE。
方法2:先把汉字urlencode转码、在json_encode; 然后urldecode解码;
echo $con = '中文'; // 中文 echo $con = urlencode( $con ); // %E4%B8%AD%E6%96%87" echo $con = json_encode( $con ); // %E4%B8%AD%E6%96%87" echo $con = urldecode( $con ); // "中文"
更多编程相关知识,可访问:编程入门!!
网站名称:phpjson_encode乱码怎么解决?
分享路径:http://jkwzsj.com/article/cghepi.html