我在将 Web 应用程序响应中的字符集从 ISO-8859-1(默认)更改为 UTF-8 时遇到问题。我已经将 VM 选项 -Dfile.encoding=UTF-8
添加到 JVM 选项
但是,我确实从 glassfish 得到了以下 HTTP header 作为响应:
Content-Type: [...;charset=ISO-8859-1]
Server: [GlassFish Server Open Source Edition 3.1]
非常感谢您的帮助/想法。
最佳答案
-Dfile.encoding
是关于如何读取 Java 源文件的 Oracle JVM 特定设置。这对 HTTP 响应的 Content-Type
header 中指定的字符集没有任何影响。
您需要将以下内容添加到您的 web.xml
,以便将所有 JSP 的响应作为 UTF-8 发送,并让它在响应 header 中设置适当的字符集。
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<page-encoding>UTF-8</page-encoding>
</jsp-property-group>
</jsp-config>
另见:
关于java - 无法在 glassfish 3.1 中将字符集从 ISO-8859-1 更改为 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6279504/