[小弟求助]JSP同一页面内传递中文参数值,显示乱码。

Tsinlei 2010-03-23 10:54:17

<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<!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=GBK">
<title>request 内置对象的实例</title>
</head>
<body>

<%--
<%! String myname=""; %>
<%
myname=new String(request.getParameter("myname").getBytes("ISO-8859-1"),"GBK");
%>
--%>
<%--
request.setCharacterEncoding("GBK");
--%>

<form action="request.jsp">
<p>Get request results:</p>
<input type="text" name="myname" /><br />
<input type="submit" name="get name" /><br />
</form>
返回这个request的值,提交过来的值:<%=request.getParameter("myname") %><br/>

</body>
</html>


本人初学JSP,不同页面间的参数传递,用注释内的代码进行编码转换,能正常显示中文,然而在同一页面,用第一个注释内的代码,会报错,用第二个注释内的代码,无任何效果(仍显示“??”)。

求各位前辈赐教啊!急~
...全文
121 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
luweiyuan01 2010-03-24
  • 打赏
  • 举报
回复
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
iso_wangjian 2010-03-24
  • 打赏
  • 举报
回复
把你的代码贴上来大家看看,应该不是这个导致的吧
Tsinlei 2010-03-24
  • 打赏
  • 举报
回复
感谢各位前辈的帮助。

目前的问题是,正如我在1楼说过的,如果在页面中加入编码转换的代码,例如:
myname=new String(request.getParameter("myname").getBytes("ISO-8859-1"),"GBK");
或者是有的前辈所建议的
myname=new String(request.getParameter("myname").getBytes("GBK"),"ISO-8859-1");


就会报错:org.apache.jasper.JasperException: An exception occurred processing JSP page /request.jsp at line XX(XX=上述编码转换代码所在的行)

着急啊~ 继续麻烦各位前辈了。。。
huminghua 2010-03-24
  • 打赏
  • 举报
回复
你把页面的改成gb2312,还有一个更好的办法,就是写一个Filter,然后再Web.xml里面配置一下,如果是做项目的话就很好用咯!
yy_dan 2010-03-24
  • 打赏
  • 举报
回复
建议编码全部采用utf-8支持国际化,因为以后做项目基本上都是用的这个编码
zhipeng_Lei 2010-03-24
  • 打赏
  • 举报
回复
这个简单,建议编码全部采用utf-8支持国际化 所有页面charset编码必须统一 meta标签就不要了 request.setCharacterEncoding("utf-8");必须放在代码的第一行
amos1989 2010-03-24
  • 打赏
  • 举报
回复
编码方式的问题,换过来试试
hoojo 2010-03-24
  • 打赏
  • 举报
回复
????的乱码可以用myname=new String(request.getParameter("myname").getBytes("gbk"),"iso-8859-1");
leihuanhuan123 2010-03-24
  • 打赏
  • 举报
回复
这个简单,建议编码全部采用utf-8支持国际化 所有页面charset编码必须统一 meta标签就不要了 request.setCharacterEncoding("utf-8");必须放在代码的第一行
shi__zi 2010-03-24
  • 打赏
  • 举报
回复
建议你去写一个过滤,然后再web.xml中把utf-8这个编码形式配置进去

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧