json_encode / decode char麻烦

时间:2013-03-18 10:34:10

标签: php mysql encoding json

当我将字符串存储到MySQL数据库表时,我遇到了json_encode / decode函数的麻烦。 问题出在瑞典的比赛中,比如ÅÄÖ。 如果有像

这样的东西
$my_arr = array('Räksmörgås');
$json = json_encode($my_arr):
print_r(json_decode($json)); 

它工作得很好,正如我所说,当我将jsonstring存储到数据库然后收集它们时,问题就出现了。表(整个db)具有编码'utf8_general_ci'。我也尝试了uft8_unicode_ci',结果相同,输出为'Ru00e4ksmu00f6rgu00e5s'。我存储此值的列是“TEXT”。

我做错了什么?

编辑,我忘了提到这是一个wordpress的插件,我正在使用$ wpdb-> prepare()和$ wpdb-> query()。

2 个答案:

答案 0 :(得分:1)

你的代码中某处你正在剥离斜杠。

// text: Räksmörgås
// json_encode(): R\u00e4ksm\u00f6rg\u00e5s
// your output: Ru00e4ksmu00f6rgu00e5s

答案 1 :(得分:0)

尝试将结果存储在BLOB而不是TEXT字段中。 你用什么来存储数据? PDO? Mysqli? Mysql?