2

我有一个 Grails 应用程序,它在任何地方都配置为 UTF-8。在运行调试版本时,标头说Content-Type:text/html;charset=utf-8,并且元标记一致。浏览器将页面识别为 UTF-8 并正确显示字符。

发布表单时,浏览器会正确发送以 UTF-8 编码的表单。但是,当通过 读取数据params.paramname时,数据看起来是乱码;maçã变成maçã.

经过进一步检查,该表单似乎正在发送 UTF-8 数据,但 Grails 似乎尝试将其读取为 ISO-8859-1。表格上的设置accept-charset="ISO-8859-1"确认了这个问题,因为它解决了这个问题。

我在 applicationContext.xml 上也有这个:

<bean id="characterEncodingFilter" class="org.springframework.web.filter.CharacterEncodingFilter">
    <property name="encoding">
        <value>utf-8</value>
    </property>
    <property name="forceEncoding">
        <value>true</value>
    </property>
</bean>

除了添加accept-charset="ISO-8859-1"到应用程序中的所有表单之外,还有其他解决方案吗?

谢谢。

4

1 回答 1

0

我认为您遇到了与Tomcat 中的 Grails 请求参数编码问题相同的问题- Burt 的回答或对其的评论应该有所帮助。

于 2012-06-05T16:38:28.600 回答