使用JSON_UNESCAPED_UNICODE选项:$jsonString = json_encode($data, JSON_UNESCAPED_UNICODE);这个选项告诉json_encode函数不对非ASCII字符进行转义,保留其原始的UTF-8编码。这样生成的JSON字符串中就会包含UTF-8字符,而不是转义后的Unicode字符。 手动转换为UTF-8编码:
$ ./php/bin/php -r 'echo json_encode("中文");' "u4e2du6587" 可读性降低,最新的php 5.4的json_encode支持了UTF-8编码,可以把中文不编码直接输出。eg:json_encode('中文',JSON_UNESCAPED_UNICODE); 那低版本怎么办呢?也有办法,封装成一个函数给大家分享一下: function my_json_encode($var) { retu...
functionjson_encode_with_utf8_detect($arr,$replace=null){$json=json_encode($arr);//没有utf-8编码问题的,直接返回encode之后内容if($json!==false||json_last_error()!=JSON_ERROR_UTF8){return$json;}array_walk_recursive($arr,function(&$value)use($replace){if(is_string($value)){$value=mb...
PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。 语法 stringjson_encode($value[,$options=0]) 参数 value: 要编码的值。该函数只对 UTF-8 编码的数据有效。 options:由以下常量组成的二进制掩码 JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX...
PHP5.2或以上的版本把json_encode作为内置函数来用,给网站制作者带来了很大的方便,但是我们必须注意到json_encode只支持UTF8编码的字符,否则,中文乱码或者空值就出现了。 解决办法分为以下两个步骤。 Step1 保证在使用JSON处理的时候字符是以UTF8编码的。具体我们可以把数据库编码和页面编码都改为UTF8。当然喜欢用gbk...
查看输出结果为: {"name":"中文字符串","value":"test"} 到此,成功地输出了中文字符。随意使用json_encode吧。这样子在PHP后台输出的JSON字符串在前台javascript中Ajax接收后eval出来也不会出现中文乱码, 因为js在处理JSON格式数据是也是以UTF8的形式进行的,与PHP类似,故接收PHP页面的JSON字符串不会出现问题。
用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式, 还会...
php json保存为utf8 json_encode($xm_json,JSON_UNESCAPED_UNICODE);//将json数组保存为utf8 php json_encode保存的json为utf8
1//防止json中文转码2functionjsonEncodeWithCN($data) {3returnpreg_replace("/\\\u([0-9a-f]{4})/ie", "iconv('UCS-2BE', 'UTF-8', pack('H4', '$1'))", json_encode($data));4}56$arr=array('a'=>'测试', b=>'hello');78echojsonEncodeWithCN($arr);...
String转换jsonobject格式错误我们都知道,php代码有时候可能因为我们的一些操作失误,导致报错,然后会暴露...