需要在我的android设备中显示克罗地亚和西班牙符号

需要在我的android设备中显示克罗地亚和西班牙符号,android,Android,我需要从URL获取一个json文件,解析它并获取内容。此Json包含克罗地亚字符和符号,如“Pošaljite e-marlon”。我使用以下代码从URL获取Json文件。这是我使用的URL 响应json没有显示原始字符串“Pošaljite e-marlon”。它提供“Poaljite电子邮件”。如何解决此问题?尝试使用字符集UTF-8,因为它不支持西班牙语符号。我认为您的问题在于您假设您的响应使用ISO-8859-2编码。尝试检查响应标题,以查看是否可以获得编码描述,例如: content-

我需要从URL获取一个json文件,解析它并获取内容。此Json包含克罗地亚字符和符号,如“Pošaljite e-marlon”。我使用以下代码从URL获取Json文件。这是我使用的URL


响应json没有显示原始字符串“Pošaljite e-marlon”。它提供“Poaljite电子邮件”。如何解决此问题?

尝试使用字符集UTF-8,因为它不支持西班牙语符号。

我认为您的问题在于您假设您的响应使用ISO-8859-2编码。尝试检查响应标题,以查看是否可以获得编码描述,例如:

content-type:application/json; charset=UTF-8
更新:我使用了一个技巧来获取字符集:我打开Firebug并在控制台
文档中运行。字符集
返回
“windows-1252”
。然后我做了这个小例子,它成功了。我不确定Android是否支持此字符集,但是

public static void main(String[] args) throws IOException {
        URL url= new URL("http://ptracker.com/webteh/localization.php");
        URLConnection con = url.openConnection();
        System.out.println(con.getContentType());
        BufferedReader br= new BufferedReader(new InputStreamReader( 
                  con.getInputStream(),Charset.forName("windows-1252")));
        String s=null;
        while ((s=br.readLine())!=null) {
            System.out.println(s);
        }
    }

比亚吉奥是对的,你需要UTF-8。我尝试了您的代码(使用克罗地亚字符),它可以通过以下修改正常工作:

BufferedReader reader = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")), 8);

使用UTF-8,结果如下所示�aljite e-mailom“您是否尝试过串入(“ISO-8859-1”)?使用UTF-8,结果如下”Po�aljite e-mailom“我的Firefox的默认编码显示页面为UTF-8,我可以看到所有字符。。。我稍后会进一步检查Pablo,你检查过URL了吗?我检查过了,这里有:)使用UTF-8,结果是这样的“Po”�aljite电子邮件“您在服务器端使用的字符集是ISO_8859-1。现在你有两个选择。您可以将Java代码中使用的字符集也更改为ISO_8859-1,或者在两侧使用UTF-8。
BufferedReader reader = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")), 8);