JSP页面get方法传递参数乱码问题
a.jsp页面通过链接 href="b.jsp?list=&productname=密度计",传递参数到b.jsp
我在b.jsp页面通过String temp = new String(request.getParameter( "productname").getBytes( "ISO-8859-1"), "UTF-8"); 得到参数productname,打印temp显示是"密度?",怎么会出现前面"密度"显示是中文,"计"显示是乱码呢?
我所有页面编码方式都默认为UTF-8,然后在conf/server.xml中的Connector节点中添加属性
URIEncoding=“GBK"了。怎么还是出现部分乱码的问题呢,请知道的朋友解答,谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
Tomcat 里面 通过url传参默认是 用iso 什么的,你可以改一下那个里面的配置。
你那处理不觉得很麻烦,
URIEncoding="utf-8" 改成这样,然后再写个过滤器,基本不会出问题的
这样写的话,就变成<A href="b.jsp?list=&productname=new URLEncoder().encode("密度计")">,不行的吧!
正常,这个问题我几年前就不管了,偶数字数是好的,基数出问题,还就是UTF-8的。链接是程序写出来的话,就如楼上的编码一下吧。页面上?用js重置一下好了。直接地址栏输入?直接无视之。。。
b.jsp?list=&productname=密度计
这里应该改为
b.jsp?list=&productname=new URLEncoder().encode("密度计")
对的,我的第一反应也是把url中的中文编码。
大伙,有答案了,应该写成这样。<A href="b.jsp?list=&productname=
<%=new java.net.URLEncoder().encode("密度计")%>>