首页 > 代码库 > php json_encode中提示的中文总是返回"\u767b\u5f55\u6210\u529f\uff01"的解决办法
php json_encode中提示的中文总是返回"\u767b\u5f55\u6210\u529f\uff01"的解决办法
最近在练习使用 php 写一些简单的接口,但是在返回的消息中,如果有中文,在测试后总是返回:
{"resultCode":200,"message":"\u767b\u5f55\u6210\u529f\uff01","data":{"user_id":"29","user_phone":"13918145846","user_name":null,"user_sex":null,"user_password":"123456","user_header":null}}
下面是我写的:
$row = mysql_num_rows($result); if($row == 1){ $array = array(); while($row = mysql_fetch_array($result)){ $array["user_id"] = $row["user_id"]; $array["user_phone"] = $row["user_phone"]; $array["user_name"] = $row["user_name"]; $array["user_sex"] = $row["user_sex"]; $array["user_password"] = $row["user_password"]; $array["user_header"] = $row["user_header"]; } //把上面的数组以 json 格式返回 $json = json_encode(array( "resultCode"=>200, "message"=>"登录成功!", "data"=>$array )); echo($json); }else{ $json = json_encode(array( "resultCode"=>500, "message"=>"登录失败!" )); echo($json); }
之前在测试时,一直显示这个个?
通过网上查资料并交通,得知 php5.4 Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.
我们只要在 json_encode(array(),JSON_UNESCAPED_UNICODE),就可以将代码中的中文正常输出:
$json = json_encode(array( "resultCode"=>200, "message"=>"登录成功!", "data"=>$array ),JSON_UNESCAPED_UNICODE); echo($json);
看测试效果:
就是这几个单词不好拼!!!!
php json_encode中提示的中文总是返回"\u767b\u5f55\u6210\u529f\uff01"的解决办法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。