2013-06-05 20 views
0

我使用收集utf8_general_ci为我场LANG_NAME将在任何语言专卖店翻译后的数据。当我从获取数据库中的数据和JSON进行编码,输出是这样的"lang_name":"\u0905\u0902\u0917\u094d\u0930\u0947\u091c\u093c\u0940"而其在数据库值अंग्रेज़ी如何将utf8_general_ci编码数据显示到json中?

我怎样才能得到实际的价值,因为它被保存在JSON格式的数据库?

+4

这是JSON编码UTF-8字符串后的预期结果。我不确定我明白问题是什么?如果你想解码,使用'json_decode()' –

+0

正如Pekka所说,完全有效的输出。实际上支持json的任何应用程序都知道如何处理它。 – Wrikken

+0

看起来有人必须阅读JSON的工作原理。 –

回答

1

没有什么错\uxxxx在你的JSON字符串,因为它是JSON自己的编码特殊字符的方式,例如UTF-8。

当你使用正确的JSON解码方法的字符串将好吧再次。

自PHP 5.4.0你能够实际输出的特价charaters将JSON字符串,在编码时,使浏览器可以支持如当显示特殊字符UTF-8。

使用:

$json = json_encode($my_utf8_meshup, JSON_UNESCAPED_UNICODE);

的JSON_UNESCAPED_UNICODE标志,可以确保字符被转换为它们的等效UTF8编码的字符。

有可能是没有办法可以使用,因为你的json_encode的inconv()参数或mb_convert_encoding()任何冷混合做到这一点()(前PHP 5.4.0)将最终结束了它映射到\uxxxx字符转换。再次,这对JSON(交通)很有用,但可能不是人类可读的。