jsp中使用get或url的方式传递中文参数时,出现乱码的解决方案

jsp中使用get或url的方式传递中文参数时,出现乱码的解决方案
2008-06-25 19:42
运行环境:Tomcat5.X
a.jsp向b.jsp跳转并传递参数
a.jsp: link
b.jsp:

解决方式1
在conf/server.xml中的Connector节点添加属性
URIEncoding=“UTF-8"
”UTF-8“对应的是a.jsp中指定的编码格式,
指定方式有三种,按照优先级由高到低依次是:response.setCharacterEncoding—contentType—pageEncoding

tomcat将强制使用URIEncoding指定的编码格式对url进行编码,现在就能在b.jsp中正常接收中文参数了,并且b.jsp不用做任何修改。
这种方式的缺点是,URIEncoding属性影响了tomcat下的所有项目。优点是对目标项目的改动少,几乎不用修改任何地方。

解决方式2
同样的地方,但使用这个属性useBodyEncodingForURI="true"
使用接收参数的页面中request.setCharacterEncoding指定的格式编码。
就是要在b.jsp中要指定希望服务器怎样编码:request.setCharacterEncoding("UTF-8");
这里的UTF-8是和a.jsp中指定的编码格式对应的。

这种方式的优缺点和第一种方式刚好相反。

总结:关键点的就是不管用怎样的方式(1或2)指定url的编码,都要注意,格式必须和a.jsp整个页面的格式相同才行,而和b.jsp本身的编码格式无关

如果还是乱码
用你使用的编辑器看看,你的页面保存使用的编码格式是不是和指定的格式相同

为什么不这样就会出现乱码
tomcat5.X默认使用ISO-8859-1对url编码,而我们的页面大部分都不是使用的这个编码格式。那是不是把我们的页面改成这种格式就好了?好奇心下我就把我a.jsp的编码格式改成ISO-8859-1,结果,修改保存时提示错误,文本中有一些字符不能使用ISO-8859-1编码.囧. 原来它是西方字符集。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/95429/viewspace-433133/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/95429/viewspace-433133/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值