java.net.url 中文乱码_jsp get Url请求方式中文乱码问题解决办法
本文章來給大家介紹關(guān)于jsp get Url請求方式中文亂碼問題解決辦法,有需要的朋友可參考。
jsp中post方式請求一般不會亂碼,如果亂碼加上這句:
解決辦法一
代碼如下
復(fù)制代碼
request.setCharacterEncoding("utf-8");
而get方式請求,若url含非西歐編碼必然會亂碼,處理方式:
代碼如下
復(fù)制代碼
request.setCharacterEncoding("utf-8");
//將請求參數(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()傳送字符編碼
面貼一下解決這個問題參考的文章:
使用java.net.URLEncoder.encode()可以對要傳遞的中文進行編碼
a.在傳參數(shù)之前先把參數(shù)進行轉(zhuǎn)碼:java.net.URLEncoder.encode(param);
取值時用語句java.net.URLDecoder.decode(param);再轉(zhuǎn)回中文
b.在你的Tomcat目錄-->conf目錄-->server.xml里找出這段:
代碼如下
復(fù)制代碼
port="8080"?????????????? maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="gb2312"
/>
例如:
代碼如下
復(fù)制代碼
">點擊這里
if(request.getParameter("url")!=null)
{
str=request.getParameter("url");
str=java.net.URLDecoder.decode(str,"GB2312");
str=new String(str.getBytes("ISO-8859-1"));
out.print(str);
}
%>
若,字符編碼為utf-8也可以實現(xiàn).或者在此段代碼中,不寫出字符編碼也可以(只寫一個參數(shù))。
總結(jié)
以上是生活随笔為你收集整理的java.net.url 中文乱码_jsp get Url请求方式中文乱码问题解决办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android padding作用,an
- 下一篇: 在计算机中dos代表什么意思,Boot是