如何将utf8_general_ci编码数据显示到json中?

时间:2013-06-05 13:27:13

标签: php mysql json encoding

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

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

1 个答案:

答案 0 :(得分:1)

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之前)最终会将它映射到{{} {1}}字符转换。再次,这对JSON(运输)有利,但可能不是人类可读的。