本文章來(lái)給大家介紹關(guān)于jsp get Url請(qǐng)求方式中文亂碼問(wèn)題解決辦法,有需要的朋友可參考。
jsp中post方式請(qǐng)求一般不會(huì)亂碼,如果亂碼加上這句:
解決辦法一
代碼如下 復(fù)制代碼
而get方式請(qǐng)求,若url含非西歐編碼必然會(huì)亂碼,處理方式:
代碼如下 復(fù)制代碼
request.setCharacterEncoding("utf-8");
//將請(qǐng)求參數(shù)使用ISO-8859-1分解成字節(jié)數(shù)組,再將字節(jié)數(shù)組解碼成字符串
代碼如下 復(fù)制代碼
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8");
解決辦法二
java.net.URLEncoder.encode()傳送字符編碼
面貼一下解決這個(gè)問(wèn)題參考的文章:
使用java.net.URLEncoder.encode()可以對(duì)要傳遞的中文進(jìn)行編碼
a.在傳參數(shù)之前先把參數(shù)進(jìn)行轉(zhuǎn)碼:java.net.URLEncoder.encode(param);
取值時(shí)用語(yǔ)句java.net.URLDecoder.decode(param);再轉(zhuǎn)回中文
b.在你的Tomcat目錄-->conf目錄-->server.xml里找出這段:
代碼如下 復(fù)制代碼
<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLooku
<a href="ds.jsp?url=<%=java.net.URLEncoder.encode("編碼的是這里","GB2312")%>">點(diǎn)擊這里</a>