jsp get Url請求方式中文亂碼問題解決辦法

本文章來給大家介紹關於jsp get Url請求方式中文亂碼問題解決辦法,有需要的朋友可參考。jsp中post方式請求一般不會亂碼,如果亂碼加上這句:解決辦法一代碼如下 複製代碼request.setCharacterEncoding("utf-8");而get方式請求,若url含非西歐編碼必然會亂碼,處理方式:代碼如下 複製代碼request.setCharacterEncoding("utf-8");//將請求參數使用ISO-8859-1分解成位元組數組,再將位元組數組解碼成字元串代碼如下 複製代碼String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8");解決辦法二java.net.URLEncoder.encode()傳送字元編碼面貼一下解決這個問題參考的文章:使用java.net.URLEncoder.encode()可以對要傳遞的中文進行編碼a.在傳參數之前先把參數進行轉碼:java.net.URLEncoder.encode(param);取值時用語句java.net.URLDecoder.decode(param);再轉回中文b.在你的Tomcat目錄-->conf目錄-->server.xml里找出這段:代碼如下 複製代碼<Connectorport="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"enableLookups="false" redirectPort="8443" acceptCount="100"debug="0" connectionTimeout="20000"disableUploadTimeout="true"<!--在裡邊加上這個參數-->URIEncoding="gb2312"/>例如:代碼如下 複製代碼<%@ page contentType="text/html;charset=gb2312" %><a href="ds.jsp?url=<%=java.net.URLEncoder.encode("編碼的是這裡","GB2312")%>">點擊這裡</a><%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也可以實現.或者在此段代碼中,不寫出字元編碼也可以(只寫一個參數)。
推薦閱讀:

有哪些辦法能預防尿道結石複發呢?
善待自己討厭的人,是領導者爭取人心的最好辦法。
正確對待孩子孤僻症的辦法!
傳北京市領導對住建委「發火」 責成其想辦法控住房價
上交所發布股票質押式回購交易及登記結算業務辦法(試行)

TAG:方式 | 辦法 | 亂碼 | 中文亂碼 | 問題 | 中文 |