0
在我的grails應用程序中,當我在Tomcat下作爲戰爭運行時,UTF-8處理被搞砸了。當我運行應用程序時,請求字符串如下:當部署爲WAR或在Tomcat下運行時出現UTF-8問題
utf-8-demo-%C3%BC%C4%81%D1%84.txt
設置爲utf-8-demo-üāф.txt
,併爲所有後續請求返回字符串中的每個unicode字符的3個Unicode碼轉義序列。
在tomcat下,這個返回爲utf-8-demo-üÄÑ.txt
或utf-8-demo-\u00C3\u00BC\u00C4\u0081\u00D1\u0084.txt
。
在我的控制器之一,我有這樣的:
String s = params.file
log.info("Filename: $s")//works in run-app, fails under tomcat
什麼可能會導致運行的應用程序之間的這種行爲二分法和部署爲tomcat的下一場戰爭?
你是否按照http://wiki.apache.org/tomcat/FAQ/CharacterEncoding#Q2中的步驟操作,即設置了'URIEncoding'和'useBodyEncodingForURI'? –