php - 如何将utf8_general_ci编码的数据显示为json?

标签 php mysql json encoding

我正在使用集合utf8_general_ci对于我的字段 lang_name ,它将存储任何语言的翻译数据。当我从数据库获取数据并将其编码为 json 时,输出如下 "lang_name":"\u0905\u0902\u0917\u094d\u0930\u0947\u091c\u093c\u0940"而其在数据库中的值为अंग्रेज़ी

如何从数据库中获取以 json 格式存储的实际值?

最佳答案

JSON 字符串中的 \uxxxx 没有任何问题,因为它是 JSON 自己的特殊字符编码方式,例如UTF-8。

当你使用正确的 JSON 解码方法时,字符串就会恢复正常。

从 PHP 5.4.0 开始,您可以在编码时实际将特殊字符输出到 JSON 字符串,因此浏览器可以在支持时显示特殊字符,例如UTF-8。

用途:

$json = json_encode($my_utf8_meshup, JSON_UNESCAPED_UNICODE);

JSON_UNESCAPED_UNICODE 标志可确保将字符转换为等效的 UTF8 编码字符。

自 json_encode()(PHP 5.4.0 之前)以来,您可能无法使用 inconv() 参数或 mb_convert_encoding() 的任何酷组合来做到这一点) 最终会将其映射到 \uxxxx 字符转换。同样,这对 JSON(传输)很有好处,但可能不便于人类阅读。

关于php - 如何将utf8_general_ci编码的数据显示为json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16941203/

相关文章:

c# - XDocument 到 JSON,JsonProperties

python - 如何根据循环内的条件从namedtuple中获取所需字段并将其保存到python中的JSON文件中

javascript - 对于 ajax 响应,die 或 echo 哪个更好?

php - 备份单行数据

php - GRPC 在 ubuntu 上安装成功,但 php 正在另一个文件夹中寻找它

mysql - 存储过程更新两行

php - 是否可以在 PHP 中定义接口(interface) Singleton?

MySQL 查询 : Simplifying Subqueries and Union

MYSQL,毫秒日志记录,操作系统 :windows 2012, 深度问题

PHP 无法读取 AJAX 发送的数组