22
只是想知道幕後是什麼。 其實我們似乎可以設置編碼,:編碼和Servlet API:setContentType或setCharacterEncoding
response.setContentType("text/html; charset=UTF-8")
response.setCharacterEncoding("UTF-8")
的區別是什麼?
只是想知道幕後是什麼。 其實我們似乎可以設置編碼,:編碼和Servlet API:setContentType或setCharacterEncoding
response.setContentType("text/html; charset=UTF-8")
response.setCharacterEncoding("UTF-8")
的區別是什麼?
的javadoc是關於差異很清楚:
void setCharacterEncoding(String charset)
設置響應的字符編碼(MIME字符集)被髮送到客戶端,例如,到UTF-8。如果字符編碼已由setContentType(java.lang.String)
或setLocale(java.util.Locale)
設置,則此方法覆蓋它。 使用字符串text/html
調用setContentType(java.lang.String)
並用UTF-8字符串調用此方法與調用setContentType
的字符串爲text/html; charset=UTF-8
等效。
void setContentType(String type)
設置響應的內容類型被髮送到客戶端,如果響應尚未提交。 給定的內容類型可以包括字符編碼規範,例如,text/html;charset=UTF-8
。
@塞巴斯蒂安:這是兩個明確的問題,你應該把它分成兩個帖子。 – skaffman 2011-02-01 16:23:02