我有一个 json 编码并存储到数据库中的数组。我所有的php文件都是utf8,我的mysql数据库是utf8_general_ci。
我的数组包含可能包含重音字符的名称,json_encode 将其转换为 \u 字符。这个数组被存储到我的数据库中。当我使用 jQuery.parseJSON 时,强调的字符会正确显示。
info = jQuery.parseJSON(data);
console.log(info);
//"Bob Épine" which is good
但是当我想在 PHP 中使用 json_decode 时, \u 字符会保留。
print_r($this->opts['name']);
echo $this->opts['name'];
//Bob \u00c9pine
//Bob u00c9pine
我发现了这个函数PHP: Replace \u characters in json string,这是要走的路吗?它确实有效,但它似乎避免了问题而不是修复它。