0

我正在使用 Eclipse IDE 中的 jboss7 和 mysql 使用 spring mvc 和 jpa 构建应用程序。我有一个奇怪的问题。我所有的 jsp 页面都用 charset: utf8 编码,我认为它工作正常。但是每当我尝试将数据从 jsp 发布到控制器时,我的数据都会以不同的编码风格进行编码。我尝试使用 firebug 查找标头,并惊讶地发现 post 请求具有 content-type 的标头:“text/plain;charset=ISO-8859-1”。我已经在 web.xml 中为 UTF-8 配置了 SetCharacterEncodingFilter(它是第一个过滤器)。但问题仍然存在。

我还将“org.apache.catalina.connector.URI_ENCODING”设置为 value="UTF-8"。但徒劳无功。

我还添加messageSource了属性 defaultEncoding 设置为“UTF-8”的bean。

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource" > 

问题依然存在。请帮忙

提前致谢。

4

2 回答 2

1

请求头是由浏览器设置的,所以你的应用程序无法控制它。通常,在您的 HTML 表单中,您可以放置​​一个accept-charset=utf-8属性来指定编码,但这并不一定有效。请参阅此问题Setting the character encoding in form submit for Internet Explorer

于 2012-08-10T08:03:22.690 回答
0

您应该需要设置 JVM 的编码,如下所示:

-Dfile.encoding=UTF-8 -Dfile.io.encoding=UTF-8 -DjavaEncoding=UTF-8 

因此根本不会有任何疑问。

于 2012-08-24T23:43:28.460 回答