关于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);
%>

运行调试发现能很好的显示中文

posted @ 2016-04-23 08:00  Mr.缪  阅读(3968)  评论(0编辑  收藏  举报