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,乱码碰到不少,象这么讨厌的倒是第一次
碰到。    

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