Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 转换并显示UTF8编码的字符串_Java_Android_Unicode_Nsstringencoding - Fatal编程技术网

Java 转换并显示UTF8编码的字符串

Java 转换并显示UTF8编码的字符串,java,android,unicode,nsstringencoding,Java,Android,Unicode,Nsstringencoding,我有一个JSON响应,我想将其存储在DB中,并显示在文本视图或编辑文本中。此json响应采用UTF-8格式编码 我的反应很糟糕 "currencies": [[0,"RUR"," ",1,0],[1,"EUR","â¬",1.44,100],[2,"GBP","£",1.6,100],[3,"JPY","Â¥",0.0125,100],[4,"AUD","$",1.1,100]]} 其中,元是货币符号。我必须解码这个,然后显示出来。此符号是Unicode中的符号(传输标记为UTF8)。如何

我有一个JSON响应,我想将其存储在DB中,并显示在文本视图或编辑文本中。此json响应采用UTF-8格式编码

我的反应很糟糕

 "currencies": [[0,"RUR"," ",1,0],[1,"EUR","â¬",1.44,100],[2,"GBP","£",1.6,100],[3,"JPY","Â¥",0.0125,100],[4,"AUD","$",1.1,100]]}
其中,元是货币符号。我必须解码这个,然后显示出来。此符号是Unicode中的符号(传输标记为UTF8)。如何转换此编码符号。请帮忙

我试过这个,但不起作用:

byte[] b = stringSymbol.getBytes("UTF-8"); // â¬,£,Â¥
final String str = new String(b); 
您正在使用非货币符号显示文本。。。这就好像你把原始文本编码成UTF-8,然后解码成ISO-8859-1

它只是一个文本,你不应该在事后对它做任何事情,你也不应该看到它的格式是这样的。如果您必须将文本转换回字节,然后再转换为字符串,这意味着您基本上已经丢失了

检查返回JSON的HTTP响应的标题-我怀疑您会发现它声称数据是ISO-8859-1而不是UTF-8。实际编码必须与头中指定的编码相匹配,否则会产生这种效果

另一种可能性是,返回JSON的任何东西都准确地提供了它所知道的数据,并且数据在上游被破坏。您应该一步一步地跟踪数据(假设您拥有链中的所有链接),直到您可以看到第一次遇到这种中断的位置。

您正在显示带有非货币符号的文本。。。这就好像你把原始文本编码成UTF-8,然后解码成ISO-8859-1

它只是一个文本,你不应该在事后对它做任何事情,你也不应该看到它的格式是这样的。如果您必须将文本转换回字节,然后再转换为字符串,这意味着您基本上已经丢失了

检查返回JSON的HTTP响应的标题-我怀疑您会发现它声称数据是ISO-8859-1而不是UTF-8。实际编码必须与头中指定的编码相匹配,否则会产生这种效果

另一种可能性是,返回JSON的任何东西都准确地提供了它所知道的数据,并且数据在上游被破坏。您应该一步一步地跟踪数据(假设您拥有链中的所有链接),直到您可以看到第一次遇到这种中断的地方