grails - 如果参数文本为ASCII,则将Grails空间解码为加号

标签 grails character-encoding ascii http-post

我的生产Grails应用程序中存在解码POST请求参数的问题。

只要参数仅包含ASCII字符,文本中的所有空格都会被解码为“+”号。因此, Controller 将获得' this + is + a + test '参数值,而不是''。

更重要的是,如果参数文本甚至包含单个非ASCII字符,例如,我们用西里尔字母'a'替换拉丁字母'a',,问题就解决了

是的,在Intellij Idea IDE 11.x上的Windows 7开发计算机上运行应用程序时,或者作为部署到独立本地Tomcat 7.0.29中的 war 存档,一切都很好。

生产应用程序被部署为 war 存档,并在SSL连接器端口8443上具有对Ubuntu / Tomcat 7.0.21的所有依赖关系。该连接器配置了属性URIEncoding =“UTF-8”

Config.groovy中的设置是

  • grails.views.gsp.encoding =“UTF-8”
  • grails.converters.encoding =“UTF-8”
  • grails.views.gsp.sitemesh.preprocess = true

  • 所有gsp的head元素中都有元声明http-equiv =“Content-Type” content =“text / html; charset = UTF-8”。

    应用程序插件为webxml:1.4.1,tomcat:$ grailsVersion,休眠:$ grailsVersion,spring-security-core:1.2.7.3,spring-security-openid:1.0.4

    作为最后一次尝试,我尝试将Grails版本从2.2.0升级到最新的2.2.2,但是没有结果。

    看来我的案子与这些其他人相反
  • Grails request parameters encoding issue in Tomcat
  • http://9exception.com/question/168139
  • Form Encoding Problems on GRAILS 2.0
  • Grails not encoding the unicode characters properly

  • 有人可以帮忙吗?

    谢谢。

    最佳答案

    通过将Tomcat版本从7.0.21升级到7.0.39,我终于解决了空间问题。没有应用程序文件已被修改。

    关于grails - 如果参数文本为ASCII,则将Grails空间解码为加号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16296429/

    相关文章:

    json - 如何使用 groovy 解析 json

    grails - Grails Controller 中 Action 和方法的区别

    Javascript编码打破和组合多字节字符?

    c# - 在 Windows 应用商店应用程序中使用 httpclient 获取 UTF-8 响应

    python - 如何将编码的unicode转换为可读的unicode

    php - 如何将数组(具有 TRUE 和 FALSE 值)转换为二进制字符串到 ASCII 字符?

    postgresql - Groovy-grails gsp表中的sql.rows

    macos - sdkman安装了grails 4.0.4,现在grails已损坏,无法启动

    php - 使用 PHP 将文本插入 MySQL 数据库时出现字符集问题

    c - 给定一个 C 语言的字符串,我如何知道它是用 ASCII 还是 Unicode 编码的?