Servlet HttpServletResponse :: setCharacterEncoding()如何工作?

时间:2016-07-31 08:33:17

标签: servlets character-encoding httpresponse

我了解到,一般来说,Java使用UTF-16作为内部字符串表示 我的问题是在Java中编写响应并应用不同的char编码时实际发生的情况,例如: response.setCharacterEncoding("ISO-8859-1")

它是否实际将响应的正文字节从 UTF-16 转换为 ISO-8859-1 ,或者只是将一些元数据添加到响应对象中?

1 个答案:

答案 0 :(得分:0)

我假设你正在谈论一个按照HttpServletResponse的方式工作的课程。如果是这种情况,那么是,如果您致电getWriter,它会更改回复的正文。由它返回的编写器必须将写入其中的任何字符串转换为字节,并使用编码。

如果您已设置内容类型,则设置内容编码通过Content-Type标头提供该信息。根据{{​​3}}:

  

使用字符串text/html调用setContentType(java.lang.String)并使用字符串UTF-8调用此方法与调用setContentType并使用字符串text/html; charset=UTF-8等效。< / p>