$ ./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...
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...
使用JSON_UNESCAPED_UNICODE选项:$jsonString = json_encode($data, JSON_UNESCAPED_UNICODE);这个选项告诉json_encode函数不对非ASCII字符进行转义,保留其原始的UTF-8编码。这样生成的JSON字符串中就会包含UTF-8字符,而不是转义后的Unicode字符。 手动转换为UTF-8编码:function utf8_encode_recursive($data) { if ...
json_encode(mixed$value$options=0$depth=512] 成功则返回JSON编码的 string 或者在失败时返回 FALSE 。 一般情形下,json嵌套层级太深这种失败是罕见,但是又相对比较容易识别的;另外一种错误,是关于utf-8编码的,则情形相对比较复杂; 代码语言:php AI代码解释 $wrong_encoding=urldecode("%CD");$arr=[$wrong_e...
$.each(json,function(k) { testValue += decodeURI(json[k]['name']) ; }); alert(testValue); } } ) } 用上面的代码js会报错 说编码不符合标准,原因是因为js 中decodeURI 仅仅支持utf8 转码,所以,PHP json_encode函数的代码应该为下面的代码: <?php for...
可见即使用UTF8编码的字符,使用json_encode也出现了中文乱码。解决办法是在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来。具体如下: 1<?php2$testJSON=array('name'=>'中文字符串','value'=>'test');3//echo json_encode($testJSON);4fo...
在PHP 中,使用 json_encode 函数处理包含中文字符的数组或对象时,可能会出现乱码。为了解决这个问题,你需要设置 json_encode 的选项,使其支持 Unicode 字符编码(UTF-8)。你可以使用 JSON_UNESCAPED_UNICODE 选项来实现这一目标。以下是一个示例:<?php $data = array( "name" => "张三", "age" => 25, "...
在使用 PHP 的 json_encode 函数时,需要注意以下几点: 数据类型兼容性:json_encode 对数据类型有严格的要求。例如,它可以将数组、对象、字符串、数字、布尔值等编码为 JSON 格式,但对于特殊的数据类型(如资源、NULL、循环引用等),json_encode 可能会返回 null 或抛出异常。 编码格式:json_encode 默认使用 UTF-8...
$json=json_encode($data, JSON_UNESCAPED_UNICODE); 使用mb_convert_encoding函数: 如果你需要处理包含特殊字符的字符串,可以使用mb_convert_encoding函数将字符串转换为 UTF-8 编码。例如: $data=mb_convert_encoding($data,'UTF-8','auto');$json=json_encode($data); ...
查看输出结果为: {"name":"中文字符串","value":"test"} 到此,成功地输出了中文字符。随意使用json_encode吧。这样子在PHP后台输出的JSON字符串在前台javascript中Ajax接收后eval出来也不会出现中文乱码, 因为js在处理JSON格式数据是也是以UTF8的形式进行的,与PHP类似,故接收PHP页面的JSON字符串不会出现问题。