编码和Servlet API:setContentType或setCharacterEncoding

时间:2011-02-01 16:06:08

标签: java servlets character-encoding

只是想知道场景背后是什么。 实际上我们似乎可以使用以下命令设置编码:

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

有什么区别?

1 个答案:

答案 0 :(得分:33)

javadoc非常清楚区别:

  

void setCharacterEncoding(String charset)   设置发送到客户端的响应的字符编码(MIME字符集),例如,设置为UTF-8。如果字符编码已由setContentType(java.lang.String)setLocale(java.util.Locale)设置,则此方法会覆盖它。 使用字符串setContentType(java.lang.String)调用text/html并使用UTF-8字符串调用此方法与使用字符串setContentType text/html; charset=UTF-8等效>


  

void setContentType(String type)   如果尚未提交响应,则设置发送到客户端的响应的内容类型。 给定的内容类型可能包含字符编码规范,例如text/html;charset=UTF-8