GRAILS 2.0上的表单编码问题

时间:2012-06-01 19:49:03

标签: forms grails encoding utf-8

我有一个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>

<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>

除了将添加到应用程序中的所有表单之外,还有解决方法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

我认为你遇到了与Grails request parameters encoding issue in Tomcat相同的问题 - 无论是Burt的回答还是对它的评论应该有所帮助。