當在位址列中傳遞引數時,伺服器端獲取的引數值為亂碼。
解決:1、使用js將中文轉為ascii碼
var param = encodeuri("中文引數");
備註:encodeuri該方法的目的是對 uri 進行完整的編碼,因此對以下在 uri 中具有特殊含義的 ascii 標點符號,encodeuri() 函式是不會進行轉義的:;/?:@&=+$,#
複製**
**示例:
alert(encodeuri("我是中文"));
alert(decodeuri(encodeuri("我是中文")));
2、server端接收傳遞過來的引數
string param = request.getparamter("param");
現在的內容param是亂碼。
3、對接收的引數進行轉碼
stringt newparam = new string(param.getbyte("iso-8859-1"),"utf-8");
備註:接收的引數一定要以iso-8859-1獲取位元組,然後根據網頁的編碼格式new乙個新的字串,這裡使用的是utf-8編碼
什麼是iso?
iso-8859-1編碼是單位元組編碼,向下相容ascii,其編碼範圍是0x00-0xff,0x00-0x7f之間完全和ascii一致,0x80-0x9f之間是控制字元,0xa0-0xff之間是文字元號。
iso-8859-1收錄的字元除ascii收錄的字元外,還包括西歐語言、希臘語、泰語、阿拉伯語、希伯來語對應的文字元號。歐元符號出現的比較晚,沒有被收錄在iso-8859-1當中。
因為iso-8859-1編碼範圍使用了單位元組內的所有空間,在支援iso-8859-1的系統中傳輸和儲存其他任何編碼的位元組流都不會被拋棄。換言之,把其他任何編碼的位元組流當作iso-8859-1編碼看待都沒有問題。這是個很重要的特性,mysql資料庫預設編碼是latin1就是利用了這個特性。ascii編碼是乙個7位的容器,iso-8859-1編碼是乙個8位的容器。
latin1是iso-8859-1的別名,有些環境下寫作latin-1。
js頁面跳轉重新整理
location.replace location.href window.location.href 01.html ie有效,ff無效 window.location.href 01.html ie有效,ff有效效 window.location 01.html ie有效 ff有效 locati...
js頁面跳轉整理
js方式的頁面跳轉 1.window.location.href方式 2.window.n igate方式跳轉 3.window.loction.replace方式實現頁面跳轉,注意跟第一種方式的區別 有3個jsp頁面 1.aspx,2.aspx,3.aspx 進系統預設的是1.aspx,當我進入2...
url含中文的解決方法
例如 乙個a標籤 部門dd.name是中文,位址列顯示正常,但是傳到action裡列印出來是亂碼,過濾器,request.setchar.utf 8 等都試過了都解決不了 這中情況下可用下面的解決辦法 url deptname encodeuri encodeuri deptname 後台採用 st...