我正在从php服务的Android应用程序中加载数据。
在php中我使用json_encode来转换我的数据。
现在我有一个字符串,其中包含€
个字符。
json_encode
将此转换为\u0080
,但据我所知,实际正确的unicode应为\u20AC
。
通常这不是问题,但Droid Sans
字体只会将\u20AC
呈现为欧元符号。
我的问题:有没有办法让€
字符正确转换(我不在乎Java
或PHP
中的那些,虽然我更喜欢php解决方案)< strong>没有使用任何字符串替换或正则表达式等。
替换看起来很难看,可能有更多的符号没有被正确转换,我还不知道。
答案 0 :(得分:5)
\u0080
表示输入字符为\x80
,即 Windows-1252 中的欧元符号。所以我假设你的字符串是在这个字符集中编码的,那么你应该将它转换为UTF-8,因为json_encode
仅适用于UTF-8输入:
$string = iconv('Windows-1252', 'UTF-8', $string);