我的Servlet中有OutputStreamWriter
使用特定的编码方案,即我必须使用此构造函数
OutputStreamWriter(OutputStream out, String charsetName)
另外,我使用以下代码行来设置响应的编码方案
response.setContentType("text/html;charset=UTF-8")
使用此输出流我向客户端发送响应。
现在在浏览器中,解码将通过UTF-8或charsetName方案完成。 有人能解释我为什么吗?
答案 0 :(得分:2)
该行
OutputStreamWriter(OutputStream out, String charsetName)
告诉作者哪个charset用于编码。
该行
response.setContentType(text/html;charset=UTF-8)
在contentType
响应中设置http
标头,并告诉浏览器使用哪种编码来显示内容。
答案 1 :(得分:1)
浏览器将根据Content-Type
标头处理内容。您用于OutputStreamWriter
的字符集仅影响写入字符的字符编码为字节的方式。