繁体   English   中英

带有json_encode()的特殊字符

[英]Special chars with json_encode()

我正在尝试以下代码:

header('Content-type: application/json; charset=UTF-8');
$val = array('code' => 1, 'message' => 'Não encontrado!');
$res = json_encode( $val );
echo $res;

答案是:

{ "code" : 1, "message" : "N\u00e3o encontrado!" }

我搜索了,但是找不到这个问题的答案。 我认为这是UTF-8编码问题。 我的源文件使用UTF-8编码。 任何想法?

那不是问题。 在JSON中表示ã。

js> 'ã'.charCodeAt(0).toString(16)
"e3"

但是,如果确实需要它, 可以告诉PHP不要对其进行转义

$res = json_encode($val, JSON_UNESCAPED_UNICODE);

万岁!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM