Jsp頁(yè)面在URL中傳遞參數(shù)會(huì)出現(xiàn)亂碼
解決方法如下:
一、使用更改Tomcat的方法。這個(gè)方法簡(jiǎn)單,但是需要改動(dòng)的地方是服務(wù)器軟件級(jí)別的,如果稍微變動(dòng)系統(tǒng)將無(wú)法正確轉(zhuǎn)碼,移植性不高。
1、來(lái)到tomcat目錄,找到conf目錄下的server.xml問(wèn)價(jià),打開(kāi),找到標(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″/>
這種方法對(duì)get這個(gè)方法測(cè)試成功。
2、在每個(gè)Jsp頁(yè)面添加如下代碼
view plaincopy to clipboardprint?
<>
<>
<%request.setCharacterEncoding(”gb2312″);%>
<%@ page pageEncoding=”gb2312″%><%@ page contentType=”text/html;charset=gb2312″%><%request.setCharacterEncoding(”gb2312″);%>
編碼方式也可以改成GBK,支持繁體中文。重啟Tomcat,這一步很重要,否則可能看不到效果。
這種方法對(duì)post測(cè)試成功。建議兩種同步使用。
二、使用JSP的scriptLet
view plaincopy to clipboardprint?
<%=newString(elValue.getBytes("iso-8859-1"),"GBK")%>
<%=new String(elValue.getBytes("iso-8859-1"),"GBK")%>
三、使用自定義JSTL
這是我們的重點(diǎn)所在,這里要詳細(xì)說(shuō)明.
第一,編寫(xiě)自定義標(biāo)簽
第二編寫(xiě)tag文件
第三部署tag文件
第四使用吧;)很簡(jiǎn)單的.
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄