Java应用程序服务器如何决定在HTTP Content-type标头中发送什么字符集?

时间:2011-03-03 17:18:08

标签: java http

my current project中,我一直忘记字符编码,只是让应用服务器做正确的事情。这个工作正常一段时间了。例如,我能够将我的应用程序中的语言环境切换到简体中文/中国,并在任何最近的Firefox或Chrome浏览器中看到UTF-8字符。有些事情发生了变化(我还在试图弄清楚是什么)。内容仍为UTF-8编码,但有时内容类型标题为setting the charset wrong

Content-Type:text/html;charset=ISO-8859-1

...导致垃圾邮件出现在浏览器中而不是中文字符。如果我在浏览器中暂时强制编码为UTF-8,则字符会正确显示。

真正有助于解决问题的是知道应用程序服务器(或像struts或spring的Web开发框架?)如何决定放入此标头的内容!有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您使用的是哪种网络技术?例如,在servlet中有ServletResponse#setCharacterEncoding()。在JSP中:

<%@ page contentType="text/html; charset=UTF-8" %>

最终,每个Web框架最终都会使用上述两个中的一个。