jsp中超連結跳轉時傳遞中文引數亂碼

2021-07-25 18:20:37 字數 1178 閱讀 8470

今天在做jsp裡的cuid功能時,遇到了乙個小坎。經常一番折騰,終於結束了。

做完查詢功能後,要對查詢到資料進行修改操作,修改操作就需要把要修改的資料的各個項帶到乙個新的修改頁面吧,當然可以再單獨寫乙個servlet對映和類來跳轉到修改頁面update.jsp.,在web.xml中增加乙個servlet對映和servelt實現類。

我想有沒有更簡單的一種辦法,直接從jsp跳轉到另乙個jsp.當然也是有的。避免了多配乙個servlet對映和乙個跳轉類的麻煩。

<%>

string url = "update.jsp?username="+((user)list.get(i)).getusername()+"&password="+((user)list.get(i)).getpassword()+"&***="+***;

<%>

">修改

就在這個地方,因為***是漢字,跳轉到update.jsp後,接收到的一直是亂碼。

<%

string *** = request.getparameter("***").trim();

*** = new string(***.getbytes("iso-8859-1"),"gb2312");             system.out.println(***); %>

我先在各個jsp頁面加了pageencoding="gb2312",保證頁面是支援中文的,然後再試,update.jsp接收到的還是亂碼。

我猜想可能是轉碼問題,於是我先把漢字進行編碼,然後在接收頁面進行解碼。

編碼:*** = urlencoder.encode(***,"gb2312");

解碼:string *** = request.getparameter("***").trim();

urldecoder.decode(***,"gb2312")

編碼後傳送過去,update.jsp收到的漢字還是亂碼。

string *** = request.getparameter("***").trim();

*** = new string(***.getbytes("iso-8859-1"),"gb2312");

<%=new string(request.getparameter("變數名字").getbytes("iso-8859-1")) %>

或者設定一下tomcat的配置檔案中的編碼,支援中文的編碼形式。

超連結傳遞中文亂碼問題

有時候我們需要用超連結傳遞中文,可是後台接受是亂碼。這時候我們就需要先對中文進行編碼,然後再在後台進行解碼 1.用js進行編碼,如 var name 中國 window.location.href device devicelist1.do?name encodeuricomponent encod...

jsp中超連結路徑的寫法

最近對apache的學習讓我對網頁中超連結,css,js的路徑的寫法有了一些新的認識.所以這篇文章主要分享一下我的一些想法與發現.最早以前我用的就是相對路徑,剛開始感覺用起來很爽.很簡單.比如當前路徑是localhost 8080 projectname a.jsp 我想超連結到localhost ...

超連結中包含中文的亂碼問題

1.中文亂碼的原因 超連線傳遞值的基本方法是get方法 tomcat提供的預設編碼方式 預設編碼 iso 8859 1 如果你的頁碼或其他的地方才用別的編碼方式,就會出現亂碼 2.如何解決亂碼 方法一 設定uri 編碼,可以解決當超連結中包含中文時,這些中文變成亂碼的問題 在server.xml中修...