關於jsp之間href傳參(中文)亂碼問題


在A.jsp中有href傳值

<a href=\"6.jsp?param="+rs.getString(2)+"\">"

在B.jsp中使用

<% request.setCharacterEncoding("utf-8");%>

<%=request.getParameter("param")%>

獲得值,運行調試發現是一堆亂碼

起先我以為是jsp整體編碼方式不對,所以進行了如下修改:

把B.jsp最開頭更換成

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>

在title前插入<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

然后運行調試

發現還是

我有在html中加了幾個中文輸出,運行調試發現這幾個中文能很好的輸出就只有傳參的值是亂碼

說明這不是jsp整體編碼格式問題,而是B.jsp在獲取值時讀取格式不對,所以我進行了如下修改:

<% request.setCharacterEncoding("utf-8");%>

<%String param=new String(request.getParameter("param").getBytes("ISO-8859-1"),"utf-8");
  out.println(param);
%>

運行調試發現能很好的顯示中文


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM