Jsp頁面在URL中傳遞參數(shù)會出現(xiàn)亂碼
解決方法如下:
一、使用更改Tomcat的方法。這個方法簡單,但是需要改動的地方是服務(wù)器軟件級別的,如果稍微變動系統(tǒng)將無法正確轉(zhuǎn)碼,移植性不高。
1、來到tomcat目錄,找到conf目錄下的server.xml問價,打開,找到標(biāo)簽,在最后添加URIEncoding=’GBK’,效果如下:
view plaincopy to clipboardprint?
port="8080"maxThreads="150"minSpareThreads="25"maxSpareThreads="75"
enableLookups="false"redirectPort="8443"acceptCount="100"
debug="0"connectionTimeout="20000"
disableUploadTimeout="true"URIEncoding=″GBK″/>
這種方法對get這個方法測試成功。
2、在每個Jsp頁面添加如下代碼
view plaincopy to clipboardprint?
<>
<>
<%request.setCharacterEncoding(”gb2312″);%>
<%@ page pageEncoding=”gb2312″%><%@ page contentType=”text/html;charset=gb2312″%><%request.setCharacterEncoding(”gb2312″);%>
編碼方式也可以改成GBK,支持繁體中文。重啟Tomcat,這一步很重要,否則可能看不到效果。
這種方法對post測試成功。建議兩種同步使用。
二、使用JSP的scriptLet
view plaincopy to clipboardprint?
<%=newString(elValue.getBytes("iso-8859-1"),"GBK")%>
<%=new String(elValue.getBytes("iso-8859-1"),"GBK")%>
三、使用自定義JSTL
這是我們的重點所在,這里要詳細(xì)說明.
第一,編寫自定義標(biāo)簽
第二編寫tag文件
第三部署tag文件
第四使用吧;)很簡單的.
更多信息請查看IT技術(shù)專欄