Encoding and Servlet API: setContentType or setCharacterEncoding
2022-09-01 06:56:13
只是想知道幕后是什么。实际上,我们似乎可以通过以下方式设置编码:
response.setContentType("text/html; charset=UTF-8")
response.setCharacterEncoding("UTF-8")
有什么区别?
只是想知道幕后是什么。实际上,我们似乎可以通过以下方式设置编码:
response.setContentType("text/html; charset=UTF-8")
response.setCharacterEncoding("UTF-8")
有什么区别?
javadoc非常清楚其中的区别:
void setCharacterEncoding(String charset)
将发送到客户端的响应的字符编码(MIME 字符集)设置为 UTF-8。如果字符编码已由 或 设置,则此方法将覆盖它。使用text/html
的字符串调用setContentType(java.lang.String)
并使用 UTF-8 的字符串调用此方法等效于使用 String of text/html 调用setContentType
; charset=UTF-8
。setContentType(java.lang.String)
setLocale(java.util.Locale)
void setContentType(String type)
设置发送到客户端的响应的内容类型(如果尚未提交响应)。给定的内容类型可能包括字符编码规范,例如,text/html;charset=UTF-8
。