A.jsp(部分代码)
<%@ page import="java.lang.String" language="java" pageEncoding="UTF-8" %>
<%@ include file="/tags/taglibs.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
···
</head>
···
<a href="<%=ctx%>B.jsp?Name=${name }&sex=${sex }"
>click me</a>
---------------------------------------------------------------------------
B.jsp(部分代码)
<%@ page language="java" pageEncoding="UTF-8" isELIgnored="false"%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
···
//显示乱码
<%=request.getParameter("name")%>
<%=request.getParameter("sex")%>
···
</body>
其中,在这个页面(A.jsp)接收的参数${ name}、${sex}都显示中文正常,但传到B.jsp页面后显示就出现乱码。
<%@ page import="java.lang.String" language="java" pageEncoding="UTF-8" %>
<%@ include file="/tags/taglibs.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
···
</head>
···
<a href="<%=ctx%>B.jsp?Name=${name }&sex=${sex }"
>click me</a>
---------------------------------------------------------------------------
B.jsp(部分代码)
<%@ page language="java" pageEncoding="UTF-8" isELIgnored="false"%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
···
//显示乱码
<%=request.getParameter("name")%>
<%=request.getParameter("sex")%>
···
</body>
其中,在这个页面(A.jsp)接收的参数${ name}、${sex}都显示中文正常,但传到B.jsp页面后显示就出现乱码。
解决方案 »
- 小弟初学jsp 求大虾们帮忙啊
- JSP有条件的引用包
- 下载的开源代码里边一个src文件夹里边装的是什么
- 用s:iterator显示数据后,如何提交多行数据到action中
- 急求一个可以实现上传多个附件的java源代码
- 怎样禁止对JavaWebProject中webroot目录下的JSP文件直接访问?
- 对ACCESS2000数据库操作的问题.[更新数据]
- Spring MVC如何在后台获得jsp页面的内容
- 高分求用javabean实现对数据库的插入修改删除的源码!谢谢
- 请问大家都用什么开发工具开发jsp啊
- 如何在jsp页面上显示excel里面的数据在table里面
- jsp文件中用frameset引用别的jsp文件不显示
<%
request.setCharacterEncoding("UTF-8") ;// 根据原来页面的编码修改UTF-8如果原来为GBK就改为GBK
response.setCharacterEncoding("UTF-8") ;
%> <%=request.getParameter("name")%>
<%=request.getParameter("sex")%>
···
你最好在接受的时候这样:new String(request.getParameter("name").getBytes("iso-8859-1"), "utf-8");
String sex=request.getParameter("sex");
byte[] n1=new byte(name,"iso-8859-1");
byte[] n2=new byte(sex,"iso-8859-1");
name=new String(n1,"utf-8");
sex=new String(n2,"utf-8"); %>
<%=name>
<%=sex%>
这样你试试吧
当然 不行,request.setCharacterEncoding("UTF-8") 是设置post请求才有效果,另外response.没有setCharacterEncoding("UTF-8") 方法,只有response.setContentType("text/html;charset=UTF-8"); 这个是设置整个页面的编码的.
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>找到对应的端口配置加上URIEncoding="UTF-8"解决所有get请求乱码
,你用的时tomcat服务器吗?
get提交的时候中文会出现乱码情况:
1:a.jsp 和 b.jsp 页面编码方式看是否相同。
2: 如果用到很多这种跳转,最好用一个过滤器,设置统一的编码方式。
3: 可以直接在b.jsp页面转码.
tring name= new String(request.getParameter("name").getBytes("ISO-8859-1"),"gbk");
getBytes()转换为字节码 在java中最后传递的都是字节码。
<%java.net.Encoder.encode(request.getParameter("name"),"utf-8");%>
或者将request.getParameter("name")改为
tring name= new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8");
接参数页面用decodeURI(XXX,"utf-8")转码
试试看
<%
request.setCharactorEncoding("gbk");
%>
就OK了
或者重新编码
String name= new String(request.getParameter("name").getBytes("ISO-8859-1"),"gbk");