在my current project ,我已经忘记了字符编码,只是让应用程序服务器做正确的事情。这在一段时间内运行良好。例如,我能够将我的应用程序中的区域设置切换为简体中文/中国,并且在任何最新的 Firefox 或 Chrome 浏览器中都能正常查看 UTF-8 字符。发生了一些变化(我仍在尝试弄清楚是什么)。内容仍然是 UTF-8 编码的,但有时 Content-type header 是 setting the charset wrong :
Content-Type:text/html;charset=ISO-8859-1
...导致浏览器中出现乱码而不是汉字。如果我在浏览器中临时强制编码为 UTF-8,字符会正确显示。
真正有助于确定问题的是了解应用程序服务器(或 Web 开发框架,如 struts 或 spring?)如何决定将什么放入此 header 中!有什么想法吗?
最佳答案
您使用的是什么网络技术?例如在 servlet 中你有 ServletResponse#setCharacterEncoding() .在 JSP 中:
<%@ page contentType="text/html; charset=UTF-8" %>
最终,每个 Web 框架最终都会使用上述两种框架中的一种。
关于java - Java 应用程序服务器如何决定在 HTTP Content-type header 中发送什么字符集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5184125/