我的Grails应用程序无法正确解码请求参数。
在config.groovy中:
grails.views.gsp.encoding = "UTF-8"
grails.converters.encoding =
"UTF-8"
我的所有gsp都在页面指令上使用contentType="text/html; charset=UTF-8"
以及在head元素中使用<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
。
但是,当我从控制器中的param对象收到已发布的参数时,应用程序只会打印垃圾...
我正在使用部署在Tomcat 5上的Grails 1.3.7版本。其他已安装的插件除了tomcat:
hibernate 1.3.7 jquery 1.7.1 spring-security-core 1.2.6 webxml 1.4
编辑:从进一步的调试,我注意到该应用程序将在码头运行良好。因此我怀疑它必须是一个tomcat问题。我的问题类似于to this post(唉,我没有使用Shiro插件)。任何人都可以帮忙吗?
答案 0 :(得分:8)
您需要将URIEncoding='UTF-8'
添加到conf / server.xml中的Connector
元素,例如
<Connector port='8080' protocol='HTTP/1.1' connectionTimeout='20000'
redirectPort='8443' URIEncoding='UTF-8' />
答案 1 :(得分:0)
edit application.properties
add(update) line:
plugins.webxml=1.4.1
答案 2 :(得分:0)
由于没有做出最终结论,我想在同样的情况下分享我的表现。 Here可以找到更多讨论。
我是我的情况,我在本地PC上的windows下有开环境,包括本地MySQL。生产环境 - Centos 6,MySQL,Tomcat 6落后于Apache。
在开发环境中 - 一切都是o,但是在生产中 - 没有。
唯一对我有用的东西 - 除了Tomcat autoreconnect=true&useUnicode=true&characterEncoding=UTF-8
URIEncoding='UTF-8'
所以,问题在于正确设置java Driver for MySQL。