【发布时间】:2012-08-04 22:33:09
【问题描述】:
我有一个 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,这是要走的路吗? 它确实有效,但它似乎避免了问题而不是修复它。
【问题讨论】:
-
已经为每个
$this->opts['name']尝试了utf8_decode?
标签: php javascript json encoding