php json_encode 中文不转码?需要两个条件的满足
1. 文件的编码格式为utf-8
2. json_ecode方法:第二个参数传入JSON_UNESCAPED_UNNICODE
Talk is cheap ,show me the code !
json_encode()示例代码,
<?php
$arr=['name'=>"王三",'age'=>"18",'work'=>'隔壁老王'];
$jsonstr = json_encode($arr+);
echo $jsonstr;
?>
返回结果:
{"name":"\u738b\u4e09","age":"18","work":"\u9694\u58c1\u8001\u738b"}
为json_encode()方法默认将中文转码为Unicode编码。
<?php
$arr=['name'=>"王三",'age'=>"18",'work'=>'隔壁老王'];
$jsonstr = json_encode($arr+);
echo $jsonstr;
define ('JSON_UNESCAPED_UNICODE', 256);
$jsonSecond = json_encode($arr,JSON_UNESCAPED_UNICODE);
echo $jsonSecond;
?>
返回结果:
{"name":"\u738b\u4e09","age":"18","work":"\u9694\u58c1\u8001\u738b"}
{"name":"王三","age":"18","work":"隔壁老王"}
JAVA中处理utf-8 转换为Unicode编码
String name = "王三";
byte[] bytes = name.getBytes();
String unicodeName = new String(bytes, "Unicode");
System.out.println("name =" + unicodeName);
问题解决。