两种情况下的中文问题

ywsws 2001-08-18 03:06:36
我用Tomcat3.2发布jsp页面,在query.jsp中的下拉列表查询数据,将查询条件传到result.jsp页面,显示查询结果;result.jsp分页显示结果,包含两种分页方式:
一种是将页码显示,比如1 2 3 4 5 ,点击5,就跳转到第五页,这时其实像一个链接,查询条件在url中,比如:result.jsp?pageno=5&grade=一级;这时页面从url中接收的中文参数不需要进行grade=new String( request.getParameter("grade").getBytes("8859_1"),"GB2312");的转换;只要grade=request.getParameter("grade");就行了;否则会出错
另一种是用下拉列表来实现分页:
跳转到第
<select name=pageno onchange=Jumping()>
<option value=1>1</option>
<option value=1>2</option>
<option value=1>3</option>
<option value=1>4</option>
<option value=1>5</option>
</select> 页
此时grade参数是通过<input type=hidden name=grade value='一级'>
传递的,这时页面接收的grade参数需要进行grade=new String( request.getParameter("grade").getBytes("8859_1"),"GB2312");的转换;否则会出错。

在一个页面里有这两种形式同时存在,不这样也不行,要求这样实现,我也是不得已。我该怎样去解决呢?还望多多指教,谢谢,一定给分

...全文
78 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ls 2001-08-23
有谁想过jsp中<%@page contentType="text/html;charset=GB2312"%>和html中<meta http-equiv="Content-Type" content="text/html; charset=gb2312">分别表示什么意思?

我们知道几乎所有的乱码问题都可以通过各种编码来解决,但如果在做一个项目时每接受一个参数都要进行烦琐的编码,老大,这是不是太累了一点。其实所谓的编码解决方案只是治标不治本的做法而已。

我这里只是想提醒大家一下,如果你是在解决问题,不要只停留在test层面上,我们是做出东东来给人家用,而不是给人家看的;如果你在看人家的解决方案时还应该多一点自己的判断力。

(今天心情不好,请大家原谅)
回复
vanne 2001-08-22
关注
回复
kookoo 2001-08-22
我的做法:
每一个页面的第一行加上<%@page contentType="text/html;charset=GB2312"%>。
接收参数时用String aaa = new String( request.getParameter("aaa").getBytes("ISO8859_1"),"GBK");。
参数非中文时也可以用String aaa = request.getParameter("aaa");。
回复
ls 2001-08-22
这里是URL编码问题(java.net.URLEncoder)

有谁想过<%@page contentType="text/html;charset=GB2312"%>
这句话什么意思吗?
回复
packy_li 2001-08-20
我也遇到了通过url传递参数和通过input传递参数的问题,它们是有点不同的!你分开处理吧,另外设个参数!
回复
lci21 2001-08-18
你有下面这一句吗?
<%@page contentType="text/html;charset=GB2312"%>
建议:
1.如果有,就别在转换了,直接取,测是一下是否能行。
2.如果没有,加上上面那一句。
如果还不行,建议把
<%@page contentType="text/html;charset=GB2312"%>
换成:
<%@page contentType="text/html"%>
然后对取到的grade都进行转换
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2001-08-18 03:06
社区公告
暂无公告