一尘不染

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

tomcat

我的grails应用程序无法正确解码请求参数。

在config.groovy中:

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

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

但是,当我从控制器中的param对象接收到发布的参数时,该应用只会打印垃圾内容…

我使用的是通过Tomcat 5部署的Grails 1.3.7版本。其他已安装的插件(tomcat除外):

hibernate1.3.7 jQuery 1.7.1 spring-security-core 1.2.6 webxml 1.4

编辑:从进一步调试,我已经注意到该应用程序将在码头正常运行。因此,我怀疑这一定是tomcat问题。我的问题类似于这篇文章(可惜我没有使用Shiro插件)。

有人能帮忙吗?


阅读 225

收藏
2020-06-16

共1个答案

一尘不染

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

<Connector port='8080' protocol='HTTP/1.1' connectionTimeout='20000'
           redirectPort='8443' URIEncoding='UTF-8' />

此处描述:https :
//wiki.apache.org/tomcat/FAQ/CharacterEncoding

2020-06-16