php - json_encode/decode char 麻烦

标签 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 存储到数据库然后收集它们时。该表(整个数据库)的编码为“utf8_general_ci”。我也尝试过“uft8_unicode_ci”,结果相同,输出将为“Ru00e4ksmu00f6rgu00e5s”。我存储该值的列是“TEXT”。

我做错了什么?

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

最佳答案

在代码中的某个地方,您正在删除斜杠。

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

关于php - json_encode/decode char 麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15474695/

相关文章:

php - 将数据库中的所有数据输出到 php 页面

php - SQLSTATE[3D000] : Invalid catalog name: 1046 No database selected

php - 确保信息之后?是一个整数

php - 如何使用 PHPseclib 更改目录并运行 git 命令?

php - 将 ID 从一个表发布到另一个表

php - Laravel:如何优化多个查询

java - 在 Java 中规范化字符串时编码人工制品

c# - 如何确定可移植类库中的默认编码?

python - 从 JSON 文件创建的 Pandas 数据框中的 UnicodeDecodeError

javascript - 如何发送响应到ajax但保留procces php脚本