圣杯2.3.2:
这个新版本的 grails (2.3) 使我可以通过扩展 RestfulController 类来创建 REST 端点。我扩展了该类,但是当我使用特殊字符 POST 到该端点时,这些字符会发生变化。
我的配置文件中有这些行:
grails.views.gsp.encoding = "UTF-8"
grails.converters.encoding = "UTF-8"
我所有的页面和请求都使用 UTF-8 字符集。
我究竟做错了什么?
圣杯2.3.2:
这个新版本的 grails (2.3) 使我可以通过扩展 RestfulController 类来创建 REST 端点。我扩展了该类,但是当我使用特殊字符 POST 到该端点时,这些字符会发生变化。
我的配置文件中有这些行:
grails.views.gsp.encoding = "UTF-8"
grails.converters.encoding = "UTF-8"
我所有的页面和请求都使用 UTF-8 字符集。
我究竟做错了什么?
REST 端点使用 HTTP 连接,gsp 编码仅适用于 GSP 视图,尽管转换器将编码应用为 JSON 格式化程序配置,但问题出在 HTTP 连接中。
Web 容器层是第一个过滤器,它会影响请求的 URI。然后您可以将一些容器参数应用为 JAVA_OPTS:
-Dorg.apache.catalina.connector.URI_ENCODING=UTF-8
-DjavaEncoding=UTF-8
-Dfile.encoding=UTF-8
-Dfile.io.encoding=UTF-8
可能您已经解决了,但我希望此响应可用于其他情况。