導航:首頁 > 編程語言 > jsurl中文解碼

jsurl中文解碼

發布時間:2024-10-19 07:33:25

『壹』 SSH環境 jsp url跳轉,帶中文參數亂碼問題 高手請進,謝謝

URL中編碼格式為ISO-8859-1,處理中文只需將編碼格式轉換ISO-8859-1

方法一:
http://xxx.do?ptname='我是中國人'
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");

以上方法是收聚了一些網友所講的解決方法 。

『貳』 用JS將URL中的漢字編碼成GBK,怎麼弄

varGB2312UnicodeConverter={
ToUnicode:function(str){
returnescape(str).toLocaleLowerCase().replace(/%u/gi,'\u');
}
,ToGB2312:function(str){
returnunescape(str.replace(/\u/gi,'%u'));
}
};

用此方法試試。

個人覺得這個轉碼的工作最好還版是在接收端權做

『叄』 urlencoder.encode,"utf-8" 編碼 js什麼解碼

1、漢字出現在URL路徑部分的時候不需要編碼解碼;
2、使用encodeURI進行2次編碼;
3、在openModelDialog()打開的模式窗體里沒辦法用request.getParameter正確獲取參數;
客戶端和伺服器在傳遞數據時可以用過濾器filter解決字元編碼問題,但filter只能解決post方式提交的數據。對於get方式,可以使用兩次encodeURI(encodeURI(「中文」))並在伺服器中使用URLDecoder.decode(「中文」,
"UTF-8");
今天用Ajax校驗數據時也遇到這個問題,盡管頁面、類和web容器都統一了字元編碼,提交的數據依然是亂碼,所以就採用了2次encodeURI()編碼方式,亂碼問題就解決了。
在頁面中:
/exportExcel.topinfo?ls="+encodeURI(encodeURI(_tmplsgx))+"&zt="+encodeURI(encodeURI(_tmpzt))
在action中
String ls=request.getParameter("ls");
ls = new String(ls.getBytes("iso-8859-1"),"utf-8");
ls = java.net.URLDecoder.decode(ls,"UTF-8");
這樣亂碼就解決了。

『肆』 js 傳值url 亂碼問題

JS是UTF-8的,那你接收的文件是不是GB類型的?兩者語言不一致,導致出現亂碼。專
我剛調試完自己寫的類似ajax的一段屬JS。
ajax({
url:"http://",
method:'post',
type:"gb2312",
success:function(){...}
})

這里多了「type:gb2312」,就是告訴ajax,提交類型為非UTF-8類型,在提交的時候就可以將中文字元通過VBurlencode進行轉換。比將「中國」轉換成「%D6%D0%B9%FA」,而非escape("中文文字")。

閱讀全文

與jsurl中文解碼相關的資料

熱點內容
javascript的this理解 瀏覽:176
編程有哪些工作日常 瀏覽:198
怎麼改wifi密碼名字 瀏覽:575
寶馬e底盤如何降級編程 瀏覽:729
浩辰cad刪除文件夾 瀏覽:82
怎樣把pdf文件壓縮10m內 瀏覽:63
js如何終止數據請求 瀏覽:32
win10共享文件夾獨立密碼 瀏覽:44
到仙桃數據谷怎麼坐車 瀏覽:61
安卓奧迪A6l 瀏覽:475
編程里簡述什麼是副本機制 瀏覽:217
win10游戲模式不能打開 瀏覽:813
小米2s升級miui7卡在開機界面 瀏覽:113
網站建立起來後怎麼運營 瀏覽:911
頭條視頻緩存文件在哪裡 瀏覽:467
黑蘋果載入原生電源 瀏覽:514
小米4升級系統電腦版 瀏覽:504
微信哪裡重新載入數據 瀏覽:344
adbexe工具包下載 瀏覽:460
有創意的文件夾名稱 瀏覽:989

友情鏈接