我有一个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>
除了将添加到应用程序中的所有表单之外,还有解决方法吗?
感谢。
答案 0 :(得分:0)
我认为你遇到了与Grails request parameters encoding issue in Tomcat相同的问题 - 无论是Burt的回答还是对它的评论应该有所帮助。