有人說,亂碼問題一直跟中國的程序員特別有緣,真是再同意不過了,不管是Struts,JSF,JSP,還是MySQL,Tomcat,全都或多或少有亂碼的問題。一般的做法有用Filter:
的,有用
的,還有用
的,還可以用
昨天就在做項目的過程中,發現用URL傳request參數的時候,在第二個頁面上得到亂碼的問題。把上面幾種方法都試了一下還是不行。仔細追蹤了一下,發現在頁面的源代碼上中文是正常的,一直到URL還是中文正常,可是在后臺的Action里面log出來就成了亂碼了,于是猜想是在request封裝的過程中把中文變成亂碼了,以致于后臺直接就是取到的亂碼。在后臺Action中Set入中文,頁面上正常顯示,說明Struts的中文已經不存在問題。剩下的,應該就只有doGet和doPost方法的問題了。找了一下tomcat的配置文件,發現只要在server.xml中:
改為
就是加上URIEncoding="GBK"就萬事大吉了。至此,應該再困難的亂碼問題都解決了吧。就是要在頁面上、數據庫中、request里、doGet、doPost方法里面都是中文!看你還有什么地方躲??
Powered by: BlogJava Copyright © Zou Ang