解決方法
1. 客戶端編碼(jsp頁面) : var username=encodeuri(encodeuri("中文名稱"));
2 伺服器端解碼(action中) : string username = urldecoder.decode(username==null?"":username,"utf-8");
encodeuri 方法
將文字字串編碼為乙個有效的統一資源識別符號 (uri)。
encodeuri(uristring)
必選的 uristring 引數代表乙個已編碼的 uri。
說明: encodeuri 方法返回乙個編碼的 uri。如果您將編碼結果傳遞給 decodeuri,那麼將返回初始的字串。encodeuri 方
法不 會對下列字元進行編碼:":"、"/"、";" 和 "?"。請使用 encodeuricomponent 方法對這些字元進行編碼。
decodeuricomponent 方法
返回統一資源識別符號 (uri) 的乙個已編碼元件的非編碼形式。
decodeuricomponent(encodeduristring)
必選的 encodeduristring 引數代表乙個已編碼的 uri 元件。
說明:uricomponent 是乙個完整的 uri 的一部分。如果 encodeduristring 無效,將產生乙個 urierror。
decodeuri 方法
返回乙個已編碼的統一資源識別符號 (uri) 的非編碼形式。
decodeuri(uristring)
必要的 uristring 引數代表乙個已編碼 uri 的值。
說明:使用 decodeuri 方法代替已經過時的 unescape 方法。decodeuri 方法返回乙個字串值。如果 uristring 無效,那麼將
產生乙個 urierror。
escape 方法
對 string 物件編碼以便它們能在所有計算機上可讀,
escape(charstring)
必選項 charstring 引數是要編碼的任意 string 物件或文字。
說明:escape 方法返回乙個包含了 charstring 內容的字串值( unicode 格式)。所有空格、標點、重音符號以及其他非ascii
字元都用 %xx 編碼代替,其中 xx 等於表示該字元的十六進製制數。例如,空格返回的是 "%20" 。字元值大於 255 的以 %
u***x 格式儲存。
注意: escape 方法不能夠用來對統一資源標示碼 (uri) 進行編碼。對其編碼應使用 encodeuri 和encodeuricomponent 方法
unescape 方法
解碼用 escape 方法進行了編碼的 string 物件。
unescape(charstring)
必選項 charstring 引數是要解碼的 string 物件。
說明:unescape 方法返回乙個包含 charstring 內容的字串值。所有以 %xx 十六進製制形式編碼的字元都用 ascii 字符集中等價
的字元代替。以 %u***x 格式(unicode 字元)編碼的字元用十六進製制編碼 ***x 的 unicode 字元代替.
注意 unescape 方法不能用於解碼統一資源標識碼 (uri)。解該碼可使用 decodeuri 和 decodeuricomponent 方法。
關於中文亂碼的問題
關於中文亂碼 保證 charset 和 pageencoding的編碼一致,且都支援中文,通常建議取值為utf 8 還需保證了瀏覽器的顯示的字元編碼和請求的jsp頁面的編碼一致。獲取中文引數值 在獲取任何引數值之前設定,請求的字元編碼就可以了 request.setcharacterencoding...
Retrofit 中文引數亂碼問題
中文使用者名稱登入,結果出錯,網上的結論說是 或是然鵝這會使你統一的請求引數攔截失效,具體原因上述鏈結裡有,就是 contenttypeoverridingrequestbody 替換了你的 formbody 所以你新增統一的請求引數就沒啦 那這個 charset utf 8 在哪加上去呢?前面的m...
請求引數的中文亂碼問題
1 出現 404錯誤 說明找不到資源,看看對映是否正確。出現異常 說明servlet 有問題。2 響應訊息 中文正確的顯示 響應訊息傳送回客戶端,響應頭欄位 用response.addheader 設定響應訊息的頭字段 html文件設定響應訊息頭欄位,用 meta 標籤,它有乙個屬性是 設定頭欄位。...