JAVA 中URL中文引數亂碼的處理方法(彙總)
解決輸入的全形漢字或者日文在URl中亂碼的問題。以下我的實現
JSP程式碼:
- function shiborikomuFw() {
- var url = '${url08}';
- var str = document.getElementsByName('fw');
- //Str str = document.getElementsById('fw').Value;
- for (var i = 0; i < str.length; i++) {
- url = url + "&fw=" + encodeURI(str[i].value);
- }
- window.location.href = url;
- }
JAVA程式碼:
- String fw = (String) form.fw;
- if (fw != null && !"".equals(fw)) {
- try {
- fw =
- // fw = java.net.URLDecoder.decode(fw, "UTF-8");
- form.fw = fw;
- } catch (Exception e) {}
- }
這樣就解決問題了,在其他情況下也會有亂碼,以下轉自網路的各種解決方法。做個記號,方便大家查閱。
方法一:
- http:
- String strPtname = request.getParameter("ptname");
- strPtname = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8");
方法二:
- <%@ page contentType="text/html;charset=gb2312" %>
- <a href="ds.jsp?url=<%=java.net.URLEncoder.encode("編碼的是這裡","GB2312")%>">點選這裡</a>
- <%
- //request.setCharacterEncoding("GBK");
- 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);
- }
- %>
- ==================================
- public String chinatoString(String str)
- {
- String s=str;
- try
- {
- byte tempB[]=s.getBytes("ISO-8859-1");
- s=new String(tempB);
- return s;
- }
- catch(Exception e)
- {
- return s;
- }
- }
- ====================================================
- function URLencode(sStr)
- {
- return escape(sStr).
- replace(//+/g, '%2B').
- replace(//"/g,'%22').
- replace(//'/g, '%27').
- replace(////g,'%2F');
- }
方法三:
如果用jstl的話,可以自己寫一個el的function,呼叫URLEncoder.encode來編碼。
IE預設對URL後面的引數是不編碼傳送的,但是tomat預設是按ISO8859-1來進行URL解碼,因此才會出現上述錯誤。好的做法是:
1、在URL引數中確保用UTF-8編碼之,方法可以用js函式encodeURI(),或呼叫自定義的el function;
2、設定server.xml中的Connector熟悉URIEncoding="UTF-8",確保解碼格式與編碼格式統一;
方法四:
- <script>
- for(var i=0;i<document.links.length;i++){
- document.links[i].href=encodeURI(document.links[i].href);
- }
- </script>
- 在action中,String s=request.getParameter("s");
- s=new String(s.getBytes("iso-8859-1"),"gbk");
相關推薦
JAVA 中URL中文引數亂碼的處理方法(彙總)
解決輸入的全形漢字或者日文在URl中亂碼的問題。以下我的實現 JSP程式碼: function shiborikomuFw() { var url = '${url08}';
JMeter中返回Json資料的處理方法(轉)
Json 作為一種資料交換格式在網路開發,特別是 Ajax 與 Restful 架構中應用的越來越廣泛。而 Apache 的 JMeter 也是較受歡迎的壓力測試工具之一,但是它本身沒有提供對於 Json&nb
java後臺解決get請求url中文引數亂碼
解決的程式碼如下 String keyword = request.getParameter("keyword"); keyword = new String(keyword.getBytes("iso-8859-1"), "utf-8"); get請求提交的引數是在位址列
Tomcat'sURL中傳遞中文引數亂碼的解決方法!
在表單提交中文搜尋過程中,翻頁,連結都帶有關鍵字引數(注意這裡是用URL引數),此時URL必須編碼為你JSP編碼格式,下面以UTF-8為例:Keywords=中國URL=XXX.jsp?keywords=<%=URLEncode.encode("中國","uft-8")
Weblogic中url中文引數jsp頁面亂碼
解決方法讓人大吃一驚,跳轉頁面javascript頁面對url2次編碼,接受頁面就可以正常使用了,甚至不用解碼 var href="mapcall.jsp?phone2="+phones+"&name2="+names; openwin(encodeURI(encodeURI(href)));
IE下get方式傳中文引數亂碼解決方法
亂碼原因:瀏覽器在傳遞url的時候,會使用自己的編碼格式對地址進行編碼,如果瀏覽器所使用編碼與伺服器採用編碼不一致,伺服器接收到的引數就會出現亂碼。在firefox,chrome下正常,ie下會出現亂碼。 解決方法:使用js encodeURI 對地址進行統一編碼, &n
【詳】JAVA中異常分類以及異常處理方法之間的區別以及聯絡
異常在日長開發中就像看見地鐵裡邊的人頭一樣的,放眼望去,齊刷刷的一片,各種異常。分佈範圍比較廣泛,很多人看到異常,就這表情 JAVA中異常: NullPointerException 空指標異常
NodeJs伺服器啟動後在瀏覽器訪問時中文顯示亂碼處理方法
建立一個叫 server.js 的檔案,並寫入以下程式碼: //使用 require 指令來載入 http 模組,並將例項化的 HTTP 賦值給變數 http var http=require('h
el表示式獲取url中文引數亂碼
1.解決方法:改變tomcat檔案server.xml標籤connector的編碼 <Connector URIEncoding="utf-8" connectionTimeout="20000" port="8089" protocol="HTTP/1.1" red
java中可變長引數的使用方法
Java中可變長引數的使用及注意事項 1. 可變長引數的定義 使用…表示可變長引數,例如 print(String... args){ ... } 在具有可變長引數的方法中可以把引數當成陣列使用,例如可以迴圈輸出所有的引數值。 print(
JAVA中url的特殊字元處理及url轉碼解碼
在url中 , 只能使用url合法的字元 . 如果使用了非法字元來訪問某資源(如:+#等) , 就會導致資源訪問異常或失敗 . 同時原生url中也是不支援中文的 , 以百度為例 , 當你搜索了中文關鍵詞時 , 可以在url位址列中明顯的看出來中文被"編碼轉換了" . 本章暫
JSP中文及傳中文引數亂碼解決方法小結
在使用JSP的過程中,最使人頭疼的一個問題就是中文亂碼問題,以下是我在軟體開發中遇到的亂碼問題以及解決方法。 1、JSP頁面亂碼 這種亂碼的原因是應為沒有在頁面裡指定使用的字符集編碼,解決方法:只要在頁面開始地方用下面程式碼指定字符集編碼即可, 2、資料庫亂碼 這種亂碼會使你插入資料庫
Birt URL中文引數亂碼問題解決
比如 url = "<%=path%>/run?__report=reports/outByGroupDPwithMonth.rptdesign&birtTitle="+birtTitle+"&st="+stime+"&et="+etime
【工作筆記0010】asp.net後臺Request.QueryString獲取的url中文引數亂碼解決方案
通常頁面前端向後臺傳遞引數有兩種方法: 1.表單提交。 採用form標籤,將需要提交的內容放到form標籤裡面, 後臺用string str = Request.Form["標籤名字"].ToStri
java中url中文轉碼問題
public static void main(String[] args){ try { System.out.println("中文");//1 System.out.println("中文".getBytes(
C++中路徑的處理方法(string)
ble fin ase names 復制字符串 ostream 是否 substr() 新的 string 類提供字符串處理函數,利用這些函數,程序員可以在字符串內查找字符,提取連續字符序列(稱為子串),以及在字符串中刪除和添加。我們將介紹一些主要函數。 1.函數find_
抓包工具 Charles Response Contents中文亂碼解決方法(新)
轉載自:https://www.cnblogs.com/mrjade/p/7677051.html用到Charles,下載最新的4.0.1版本,但是發生亂碼問題。百度好久才找到個靠譜的,那些說什麼在Info.plist檔案加字串的,都是假的,反正我是試了都沒用,這裡記下詳細的
java中正則表達式基本用法(轉)
code ack acea print 表達式 劃線 跟著 以及 n) https://www.cnblogs.com/xhj123/p/6032683.html 正則表達式是一種可以用於模式匹配和替換的規範,一個正則表達式就是由普通的字符(例如字符a到z)以及特殊字符(元
java保留兩位小數4種方法(轉載)
cal AI maximum 保留兩位小數 tps 控制 .text int .html 喵喵最近經常遇到小數點保留的問題,轉載一篇Java裏面的幾種小數點位數控制方法。 這是轉載的原地址:https://www.cnblogs.com/chenrenshui/p/6128
Hive中文註釋亂碼解決方案(2)
seq cut exit sdn 都在 更多 net hdp 通過反射 本文來自網易雲社區作者:王潘安執行階段launchTask 回到Driver類的runInternal方法,看以下執行過程。在runInternal方法中,執行過程調用了execute方法。exe