程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 講解JSP get方式接收數據出現亂碼解決方法

講解JSP get方式接收數據出現亂碼解決方法

編輯:關於JSP

我們在jsp中進行頁面重定向的時侯實用response.sendRedirect("url?參數"); 這時候,如果我們想傳遞的參數是中文,那麼很可能會遇到傳過去以後以亂碼顯示。 這是因為,用response.sendRedirec("url?參數")的方式傳值的提交方式是get方式。所以才會出現亂碼問題。 那麼,如何解決呢? 首先,在傳值頁面導入java.net.*;包,然後利用裡面的URLEncoder.encode(String str)方法將要傳遞的中文參數轉換為另一種形式的編碼。這樣在url裡面傳遞時就不會顯示為亂碼,而是%DB%FD%樣式的編碼。 其次,就是在讀取參數頁面將其轉碼為中文格式就好了。 方法是new String(讀取的參數.getBytes("ISo-8859-1"),"UTF-8");然後用一個String 類型變量接收一下就能拿到傳過來的中文值。 下面舉個例子: 假設有頁面a.jsp和b.jsp。且兩個頁面的pageEncoding都為GBK,現在要從a.jsp向b.jsp中傳遞一個“你好”; a.jsp <%@ import java.net.*%> <% Stirng str="你好"; str=str.UrlEncoder.encode(str); response.sendRedirect("b.jsp?name="+str); %> b.jsp <% String getName=new String(request.getParameter("name").getBytes("iso-8859-1"),"GBK"); out.println(getName); %> 這樣,b.jsp就可以正常輸出“你好”了。 需要注意的: b.jsp中一定要new一個新的字符串接收讀到的信息,否則還會是亂碼。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved