json_encode()的特殊字符

时间:2014-05-05 16:48:43

标签: php json

我正在尝试以下代码:

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编码。有什么想法吗?

1 个答案:

答案 0 :(得分:5)

这不是问题。 \u00e3 represents ã in JSON.

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

如果你真的需要它,you can tell PHP not to escape it

$res = json_encode($val, JSON_UNESCAPED_UNICODE);

Hooray!