jsp URL中文傳值亂碼問題

2021-06-06 14:38:18 字數 1006 閱讀 7244

1.在tomcat下的server.xml中插入如下**

uriencoding="utf-8" usebodyencodingforuri="true"

connectiontimeout="20000" 

redirectport="8443" />

2.對jsp頁面js中要傳遞引數進行加密

encodeuri(param)

2.action中編寫

request.setcharacterencoding("utf-8");

new string(urldecoder.decode(param).getbytes("iso-8859-1"),"utf-8")(不需要)

以下拷貝

jsp中

var num = $("#txtnum").val();

var name = encodeuricomponent($("#txtname").val());

var classname = encodeuricomponent($("#selectclasses option:selected").text());

action中

stu.setnum(urldecoder.decode(num, "utf-8"));

stu.setname(urldecoder.decode(name, "utf-8"));

stu.setclassname(urldecoder.decode(classname, "utf-8"));

一般在post中struts過濾器會自動處理。而在get中,需要這樣操作。

原理:

encodeuricomponent是js內建函式,是將中文韓文等特殊字元轉換成utf-8格式的url編碼。

如果給後台傳遞引數需要使用encodeuricomponent時,需要後台解碼對utf-8支援

還要注意的是form中的編碼方式和當前頁面編碼方式相同。

Post,GET中文傳值亂碼問題

正常情況下,url傳值前對中文進行編碼,然後接受頁面作對應的解碼。即使不對含有中文的url編碼,接受頁面也能正確獲取引數值,因為預設編碼為utf 8。post傳值包含中文也正常 專案中有時webconfig設定,或者頁面上設定gb2312編碼方式,若編碼與解碼不統一,很容易造成亂碼的問題。utf 8...

文章標題 java 中文傳值亂碼問題

一般編碼格式設定 1.可以經過兩次編碼處理,即設定字符集後,在插入前解碼字符集,也是最有效的方式 設定字符集 string value null try catch unsupportedencodingexception e 解碼字符集 string value null try catch un...

url 中文傳參 亂碼問題

開發一直用firfox網頁,除錯什麼的都很方便。所以遇到了瀏覽器之間的相容問題。url中文傳參。問題 前台用url傳值中文,後台用request.getparameter接收引數。用firfox,chrome等沒有問題。用ie會出現接參亂碼現象。上網查了一下,算了,還是把原文帖上來吧。比較容易懂。讓...