在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);%>
运行调试发现能很好的显示中文