Struts2.0亂碼解決方案

1.struts2.0中,利用form表單傳遞參數,在action中取值正常,不會出現亂碼現象,但是通過URL傳遞中文會出現亂碼現象。如果將頁面編碼改
爲GBK,在action中利用 cxz=new String(cxz.getBytes("ISO-8859-1"),"GBK");可以正常,但是這會導致表單傳遞的參數變爲亂碼,且無法
轉換。
2.有人在tomcat中加上uriEncoding="utf-8",頁面統一使用utf-8,經過測試,在URL傳遞某些漢字時正常,但是如果傳遞類似於初一一班這種漢字時會成爲初一一口。
3.頁面仍然統一使用UTF-8編碼,在URL傳遞的變量時加上編碼,如:
page1.setPageString(pagecount,rownum,Integer.parseInt(pageno1),pagerow,"auid="+auid_test+"&cxtj="+getCxtj()+"&cxz="+java.net.URLEncoder.encode(cxz,"UTF-8"));

取值的時候做如下編碼轉換:
         if(getUrlflag()==null)
         {
          cxz=new String(cxz.getBytes("ISO-8859-1"),"UTF-8");
          System.out.println("---------------------------------------->"+cxz);
          setCxz(cxz);          
         }
但這種做法需要區別參數是通過post傳遞還是get傳遞,較爲麻煩。     
4.添加一個過濾器filter,暫未研究。這幾天被這個亂碼問題弄得頭都大了,做這麼久的java/jsp,亂碼碰到不少,象這麼討厭的倒是第一次
碰到。    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章