日期:2014-05-20  浏览次数:20852 次

得到的inputstream打印中文问题
Java code

    public void test() throws Throwable {
        String path = "http://10.0.2.2:8080/GETDemo/MyServlet?format=name";
        URL url = new URL(path);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setReadTimeout(5 * 1000);
        conn.setRequestMethod("GET");
        InputStream inputStream=conn.getInputStream();
        int total=conn.getInputStream().available();
        byte[]b=new byte[total];
        inputStream.read(b);
        String str=new String(b,"gbk");
        System.out.println(str);
    }



从服务器获得数据测试,英文可以获得,中文就打印???,我从tomcat获得的,请问问题在哪里啊???

------解决方案--------------------
那个servlet用的是什么字符集?
或者你测试端不支持GBK字符集的也有可能
------解决方案--------------------
穿过来的不是GBK,用GBK保存的话 就会是乱码吧

好像有方法可以得到是什么编码的