Java 使用HttpClient显示非ASCII字符

Java 使用HttpClient显示非ASCII字符,java,android,html,httpclient,Java,Android,Html,Httpclient,因此,我使用这段代码来获取网站的整个HTML。但是我似乎没有带非ascii字符。我得到的只是带问号的钻石。 像这样的字符:å,如下所示:� 我怀疑这是因为charset,那会是什么呢 Log.e("HTML", "henter htmlen.."); String url = "http://beep.tv2.dk"; HttpClient client = new DefaultHttpClient(); client.g

因此,我使用这段代码来获取网站的整个HTML。但是我似乎没有带非ascii字符。我得到的只是带问号的钻石。
像这样的字符:å,如下所示:�
我怀疑这是因为charset,那会是什么呢

Log.e("HTML", "henter htmlen..");
            String url = "http://beep.tv2.dk";
            HttpClient client = new DefaultHttpClient();
            client.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, 
                    HttpVersion.HTTP_1_1);
            client.getParams().setParameter(CoreProtocolPNames.HTTP_ELEMENT_CHARSET, "UTF-8");
            HttpGet request = new HttpGet(url);
            HttpResponse response = client.execute(request);
            Header h = HeaderValueFormatter
            response.addHeader(header)
            String html = "";
            InputStream in = response.getEntity().getContent();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            StringBuilder str = new StringBuilder();
            String line = null;
            while((line = reader.readLine()) != null)
            {
                str.append(line);
            }
            in.close();
        //b = false;
        html = str.toString();
  • 使用
    新的InputStreamReader(在“UTF-8”中)
    构造函数
  • 接受字符集
    请求头设置为,例如,
    接受字符集:iso-8859-5,unicode-1-1;q=0.8
  • 确保页面在浏览器中正确打开。如果没有,则可能是服务器端问题
  • 如果上述任何一项都不起作用,请使用firebug(或类似工具)检查其他标题
  • 使用
    新的InputStreamReader(在“UTF-8”中)
    构造函数
  • 接受字符集
    请求头设置为,例如,
    接受字符集:iso-8859-5,unicode-1-1;q=0.8
  • 确保页面在浏览器中正确打开。如果没有,则可能是服务器端问题
  • 如果上述任何一项都不起作用,请使用firebug(或类似工具)检查其他标题
  • 多谢各位。这起到了作用(如果其他人有此问题):

    多谢各位。这起到了作用(如果其他人有此问题):


    这确实帮助了我开始学习,但我在阅读文本文件时也遇到了同样的问题。已使用以下命令修复该问题:

        BufferedReader br = new BufferedReader(new InputStreamReader(new 
                    FileInputStream(fileName), "iso-8859-1"));
    
    …当然,HTTP响应也需要设置编码:

        response.setCharacterEncoding("UTF-8");
    

    谢谢你的帮助

    这确实帮助了我入门,但我在阅读文本文件时也遇到了同样的问题。已使用以下命令修复该问题:

        BufferedReader br = new BufferedReader(new InputStreamReader(new 
                    FileInputStream(fileName), "iso-8859-1"));
    
    …当然,HTTP响应也需要设置编码:

        response.setCharacterEncoding("UTF-8");
    

    谢谢你的帮助

    您需要返回到打开问题的同一台PC/webbrowser,然后通过OpenID注册您的原始用户帐户。通过这种方式,您将能够使用来自其他每台PC/webbrowser的相同帐户。您需要返回到打开问题的同一台PC/webbrowser,然后通过OpenID注册您的原始用户帐户。这样,您就可以从其他每台PC/webbrowser使用相同的帐户。