部署为WAR或在Tomcat下运行时出现UTF-8问题

时间:2011-08-29 21:25:18

标签: tomcat grails utf-8 internationalization war

在我的grails应用程序中,当我作为战争在Tomcat下运行时,UTF-8处理被搞砸了。当我运行app时,以下请求字符串:

utf-8-demo-%C3%BC%C4%81%D1%84.txt设置为utf-8-demo-üāф.txt,对于所有后续请求,为字符串中的每个unicode字符发回3个unicode转义序列。

在tomcat下,这会以utf-8-demo-üÄÑ.txtutf-8-demo-\u00C3\u00BC\u00C4\u0081\u00D1\u0084.txt的形式返回。

在我的一个控制器中,我有这个:

String s = params.file
log.info( "Filename: $s" )//works in run-app, fails under tomcat

什么可能导致run-app和部署之间的这种行为二分法作为tomcat下的战争?

1 个答案:

答案 0 :(得分:2)

URIEncoding="UTF-8"的{​​{1}}定义中添加属性<Connector>