当我将字符串存储到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()。
答案 0 :(得分:1)
你的代码中某处你正在剥离斜杠。
// text: Räksmörgås
// json_encode(): R\u00e4ksm\u00f6rg\u00e5s
// your output: Ru00e4ksmu00f6rgu00e5s
答案 1 :(得分:0)
尝试将结果存储在BLOB
而不是TEXT
字段中。
你用什么来存储数据? PDO? Mysqli? Mysql?