在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);%>
運行調試發現能很好的顯示中文