OutputStreamWriter编码与响应内容类型

时间:2014-10-16 13:42:05

标签: java web character-encoding http-headers outputstream

我的Servlet中有OutputStreamWriter使用特定的编码方案,即我必须使用此构造函数

OutputStreamWriter(OutputStream out, String charsetName)

另外,我使用以下代码行来设置响应的编码方案

response.setContentType("text/html;charset=UTF-8")

使用此输出流我向客户端发送响应。

现在在浏览器中,解码将通过UTF-8或charsetName方案完成。 有人能解释我为什么吗?

2 个答案:

答案 0 :(得分:2)

该行

OutputStreamWriter(OutputStream out, String charsetName)

告诉作者哪个charset用于编码。

该行

 response.setContentType(text/html;charset=UTF-8)

contentType响应中设置http标头,并告诉浏览器使用哪种编码来显示内容。

答案 1 :(得分:1)

浏览器将根据Content-Type标头处理内容。您用于OutputStreamWriter的字符集仅影响写入字符的字符编码为字节的方式。