我正在将请求发送到Web服务,并且收到的回复可能使用任何语言:英语,法语,阿拉伯语,日语等。

但是,我无法正确显示不同的语言。例如,我收到:

translation: ä½ å¥½


代替:

translation: 你好


我猜想我的HTTP请求/响应中编码不正确。有人可以告诉我我可能做错了什么吗?这是我收到HTTP响应的代码:

        baos = new ByteArrayOutputStream();

        InputStream responseData = connection.openInputStream();
        byte[] buffer = new byte[20000];
        int bytesRead = 0;
        while ((bytesRead = responseData.read(buffer)) > 0) {
            baos.write(buffer, 0, bytesRead);
        }
        System.out.println(new String(baos.toByteArray()));


谢谢!

最佳答案

最后打印时,尝试

System.out.println(new String(baos.toByteArray(), Charset.forName("UTF-8")));

关于java - 帮助显示不同语言的Java字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5315124/

10-11 01:27