无法在glassfish 3.1中将字符集从ISO-8859-1更改为UTF-8

Win*_*ute 7 java servlets glassfish utf-8 character-encoding

我在将Web应用程序响应中的字符集从ISO-8859-1(默认)更改为UTF-8时遇到问题.我已经将VM选项添加-Dfile.encoding=UTF-8到JVM选项中

但是,我确实得到以下HTTP标头作为来自glassfish的响应:

Content-Type: [...;charset=ISO-8859-1]
Server: [GlassFish Server Open Source Edition 3.1]
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助/想法.

Bal*_*usC 9

-Dfile.encoding是关于如何读取Java源文件的Oracle JVM特定设置.这Content-Type对HTTP响应标头中指定的字符集没有任何影响.

您需要向您添加以下内容web.xml,以便将所有JSP的响应发送为UTF-8,并让它在响应头中设置相应的字符集.

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <page-encoding>UTF-8</page-encoding>
    </jsp-property-group>
</jsp-config>
Run Code Online (Sandbox Code Playgroud)

也可以看看: