php json_encode用于android的欧元符号

时间:2013-03-11 16:36:32

标签: java php android json encoding

我正在从php服务的Android应用程序中加载数据。 在php中我使用json_encode来转换我的数据。 现在我有一个字符串,其中包含个字符。 json_encode将此转换为\u0080,但据我所知,实际正确的unicode应为\u20AC。 通常这不是问题,但Droid Sans字体只会将\u20AC呈现为欧元符号。

我的问题:有没有办法让字符正确转换(我不在乎JavaPHP中的那些,虽然我更喜欢php解决方案)< strong>没有使用任何字符串替换或正则表达式等。 替换看起来很难看,可能有更多的符号没有被正确转换,我还不知道。

1 个答案:

答案 0 :(得分:5)

\u0080表示输入字符为\x80,即 Windows-1252 中的欧元符号。所以我假设你的字符串是在这个字符集中编码的,那么你应该将它转换为UTF-8,因为json_encode仅适用于UTF-8输入:

$string = iconv('Windows-1252', 'UTF-8', $string);