php json_encode用于android的欧元符号

x4r*_*f41 1 php java encoding android json

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

我的问题:有没有办法让角色正确转换(我不在乎是否在内Java或中PHP,虽然我更喜欢PHP解决方案)而不使用任何字符串替换或正则表达式等.替换看起来很难看,可能会有更多的符号不能正确转换,我还不知道.

Fab*_*ler 5

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

$string = iconv('Windows-1252', 'UTF-8', $string);
Run Code Online (Sandbox Code Playgroud)