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