我想交下列字符串“`.4.13 - 30613£₤©™”的UTF-8编码一个Grails服务器一旦部署为WAR,我没有Tomcat7Grails的,Tomcat的7,REST客户端和人物
我们的服务器可以作为一个API的两个实例,和网络层之间的通信完全seperately时运气。通过对Web App的POST请求将数据保存到数据库,然后Web App向服务器发送POST(或PUT for updates)请求以保存数据。
本地当我启动Web应用程序和服务器使用“运行应用程序”,而不是当我们移动到非本地enviroments与Tomcat7和部署WAR文件,这工作得很好。
Initally我认为这可能与报告的错误http://jira.grails.org/browse/GRAILS-8873但仔细检查后,似乎UTF-8是默认的,无论如何,和目前正在使用
非本地enviroments用以下结构(在Tomcat7部署WAR)
Entry Point -> Apache 2.2 < - > Web App < - > Server
本地环境中使用以下结构(运行应用程序)
Entry Point -> Web Abb < - > Server
我有输出在编组字符串的时间值,以确保在它发送到服务器,这是正确的编码
DEBUG MarshallService - Marshalling Property : name of value [ `.4.13 - 30613 £ ? © ™]
这是直接从日志从网络发出的请求的应用程序到服务器 忽略内容长度错误的事实,我为了可读性而截断了主体。
DEBUG org.apache.http.headers - >> PUT /baseline-server/baseline/pwqi9tzyTRWX5oZogfKjJw HTTP/1.1
DEBUG org.apache.http.headers - >> Accept: application/json; charset=utf-8
DEBUG org.apache.http.headers - >> Content-Length: 349
DEBUG org.apache.http.headers - >> Content-Type: application/json
DEBUG org.apache.http.headers - >> Host: localhost:9001
DEBUG org.apache.http.headers - >> Connection: Keep-Alive
DEBUG org.apache.http.headers - >> Accept-Encoding: gzip,deflate
DEBUG org.apache.http.wire - >> "{"name":"`.4.13 - 30613 [0xa3] ? [0xa9] [0x99]"}
我已经在其他几个地方读了几答案和之前的任何虚拟主机
AddDefaultCharset utf-8
在两个Tomcat实例(web.xml)中
做了以下在Apache 2.2的httpd.conf文件
<filter>
<filter-name>setCharacterEncodingFilter</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<async-supported>true</async-supported>
</filter>
此外,根据其他答案,我ahve确保我们使用webxml 1.4.1
然而,当值达到服务器端,值都???
我发现了什么特别奇怪的是即将离任的JSON不会出现在所有
任何援助将不胜感激
连接器已经完成,但它现在在lcase,这会有所作为吗?我也将UTF-8编码添加到数据源中无济于事。此外,编码设置也已设置。 – 2013-04-11 02:06:32
尝试执行命令>语言环境。检查所有结果是否都是UTF8并且没有警告报告 – 2013-04-11 07:10:06
所有环境都在运行窗口,您是否有任何equivilent命令? – 2013-04-11 23:58:25