使用UrlConnection时有些服务器出现乱码?

时间:2016-10-17 08:58:06

标签: java

我使用下面的代码发布一些数据,但我发现在某些服务器中,响应字符串是乱码(并非所有服务器)。

Convert to Java

我尝试了很多方法,但都没有效果。

1 个答案:

答案 0 :(得分:0)

请勿使用String#getBytes()它会使用平台的默认字符集对您的String进行解码,这意味着平台依赖< / strong>即可。此外,由于您已使用String作为字符集将流内容解码为UTF-8,因此它甚至无用

请改为尝试:

try (BufferedReader reader = new BufferedReader(
    new InputStreamReader(connection.getInputStream(), String_UTF_8))
) {
    String lines;
    while ((lines = reader.readLine()) != null) {
        sb.append(lines);
    }
}