Grails在Tomcat中请求参数编码问题

Lef*_*dis 5 grails tomcat character-encoding grails-orm

我的grails应用程序不会正确解码请求参数.

在config.groovy中:

  • grails.views.gsp.encoding = "UTF-8"
  • grails.converters.encoding = "UTF-8"

我的所有gsp都contentType="text/html; charset=UTF-8"在页面指令和<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />head元素中使用.

但是,当我从控制器中的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问题.我的问题类似于这篇文章(唉,我没有使用Shiro插件).

有人能帮忙吗?

Bur*_*ith 8

您需要添加conf/server.xml中URIEncoding='UTF-8'Connector元素,例如

<Connector port='8080' protocol='HTTP/1.1' connectionTimeout='20000'
           redirectPort='8443' URIEncoding='UTF-8' />
Run Code Online (Sandbox Code Playgroud)

这里描述:https://wiki.apache.org/tomcat/FAQ/CharacterEncoding