admin 管理员组文章数量: 1184232
2024年3月11日发(作者:收录最快的网站源码)
使用 tomcat 时,相信大家都回遇到中文乱码的问题,具体表现为通过表单取得的中
文数据为乱码。
一、初级解决方法
通过一番检索后,许多人采用了如下办法,首先对取得字符串按照 iso8859-1 进行
解码转换,然后再按照 gb2312 进行编码,最后得到正确的内容。示例代码如下:
?ptname='我是中国人'
String strPtname = ameter("ptname");
strPtname = new String(es("ISO-8859-1"), "UTF-8");
String para = new String( ameter("para").getBytes("iso8859-1"),
"gb2312");
具体的原因是因为美国人在写 tomcat 时默认使用 iso8859-1 进行编码造成的。
然而,在我们的 servlet 和 jsp 页面中有大量的参数需要进行传递,这样转换的话会
带来大量的转换代码,非常不便。
二、入门级解决方法
后来,大家开始写一个过滤器,在取得客户端传过来的参数之前,通过过滤器首先将
取得的参数编码设定为 gb2312 ,然后就可以直接使用 getParameter 取得正确的参数
了。这个过滤器在 tomcat 的示例代码
jsp-examples 中有详细的使用示例, 其中过滤器在 中的设定如下,示例中
使用的是日文的编码,我们只要修改为 gb2312 即可
1.
2.
3.
4.
5.
6.
7.
过滤器的代码如下:
public class SetCharacterEncodingFilter implements Filter {
1. // 编码的字符串
版权声明:本文标题:url中文乱码解决大全 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1710164133a560377.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论