0

当我将字符串存储到 MySQL DB 表时,我在使用 json_encode/decode 函数时遇到了一些问题。问题在于瑞典字符,例如 ÅÄÖ。如果有类似的东西

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

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

我究竟做错了什么?

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

4

2 回答 2

1

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

// text: Räksmörgås
// json_encode(): R\u00e4ksm\u00f6rg\u00e5s
// your output: Ru00e4ksmu00f6rgu00e5s
于 2013-03-18T10:42:12.360 回答
0

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

于 2013-03-18T10:43:23.723 回答