【问题标题】:Character Encoding Issue with spring applicationSpring应用程序的字符编码问题
【发布时间】:2012-08-07 00:04:45
【问题描述】:

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

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

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

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

问题依然存在。请帮忙

提前致谢。

【问题讨论】:

  • Vishal,你有解决这个问题的办法吗?如果是,请在此处发布以帮助其他人。

标签: spring jboss


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      • 2011-10-02
      相关资源
      最近更新 更多