jsp中文乱码问题

ygj281583295 2008-10-30 05:24:43
所有的文件都设置的编码方式是GB2312
每个文件都加了request.setCharacterEncoding("gb2312");
可是有的乱码问题解决了 有的还是有问题请高手解释一下并帮忙解决
...全文
192 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohouxiaogui 2008-11-13
  • 打赏
  • 举报
回复
不错,这伟哥们说的很好[Quote=引用 23 楼 bing_feng 的回复:]
这问题以前也碰到过
你在jsp里再加一个pageEncoding="GB2312"属性试试
你也可以使用过滤器
[/Quote]
xiaohouxiaogui 2008-11-13
  • 打赏
  • 举报
回复
是的这种方法确实是很好用的,想楼主写的那样的方法已经很过时了[Quote=引用 6 楼 lihan6415151528 的回复:]
引用 5 楼 java3ee 的回复:
有好多种。。
我说一种:
search.jsp
String keyword = new String (request.getParameter("keyword").getBytes("ISO_8859-1") , "GBK");


楼上得这种方法很好用的
[/Quote]
kimi 2008-11-13
  • 打赏
  • 举报
回复
URIEncoding="GB2312加入到server.xml中,就OK了 ,详细的去谷歌查
sebatinsky 2008-11-02
  • 打赏
  • 举报
回复
不管你用什么,
其实这里说一句,好多人都说了乱码的问题,这里总结一下,就是做web的,不管哪里,可能是没有具体的规范吧,如果你一个人通畅的做一个程序,也许不会出现乱码,但是几乎不可能那样子,所以乱码是正常的,就需要处理,设置过滤也好,设置转换也好,这里都要视具体情况来看,呵呵
断点排查吧,哪里有问题,你就哪里解决,
String.getByte();
这个是用得最多的,呵呵
当然,说用filter,其实这个不一定管用,因为他是针对了全部的,所以还是需要排查。
bing_feng 2008-11-02
  • 打赏
  • 举报
回复
这问题以前也碰到过
你在jsp里再加一个pageEncoding="GB2312"属性试试
你也可以使用过滤器

a13794621 2008-11-02
  • 打赏
  • 举报
回复
使用过滤器就解决了
ZiSheng 2008-11-02
  • 打赏
  • 举报
回复
你的乱码是得到的参数是乱码还是页面显示的是乱码
xcj0722 2008-11-02
  • 打赏
  • 举报
回复
jf
conrol 2008-10-31
  • 打赏
  • 举报
回复
过滤器是最好的选择!
awusoft 2008-10-31
  • 打赏
  • 举报
回复
jsp里再加一个pageEncoding="GB2312"属性
lin89037910 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lg312200538 的回复:]
补充一下,我上面说的是转码,有的要转,有的不要转,视情况而定.
如果你只是java一种语言的话,每个jsp的第一名加request.setCharacterEncoding("gb2312"); 静态的就应该没问题了,动态的最好再加一个转码.
[/Quote]

这个方法很管用的,呵呵
szhshaozhihua 2008-10-31
  • 打赏
  • 举报
回复
查看下你的工程本身是不是GB2313格式的。比如MYECLIPSE里面是不是改了?
ygj281583295 2008-10-31
  • 打赏
  • 举报
回复
String keyword = new String (request.getParameter("keyword").getBytes("ISO_8859-1") , "GBK");这种方法我用了可以解决但是接收的字符串多了看起来太乱,我还是比较接收2楼的说法
谢谢大家已经解决
lipeilu 2008-10-31
  • 打赏
  • 举报
回复
最实用的方法是 建一个转码类文件
方法是 String keyword = new String (request.getParameter("keyword").getBytes("ISO_8859-1") , "GBK");
需要转码的地方调用类的方法即可
kimi 2008-10-31
  • 打赏
  • 举报
回复
不需要那么麻烦,如果你用的是TOMCAT的话就修改SERVER。XML文件

将里面的加一句话,具体位置在8080端口设置的那个<>里面加上URIEncoding="GB2312"这样就解决了Get方式的乱码问题

Post方式的乱码解决为request.setCharterEncoding("GB2312");

这样就OK拉,google上面有自己搜索下!
忙碌的布谷鸟 2008-10-30
  • 打赏
  • 举报
回复
1.
String keyword = new String (request.getParameter("keyword").getBytes("ISO_8859-1") , "GBK");
只对当前字符串有效。

2.response.setCharacterEncoding("gb2312");
对当前页面有效。

3.
2楼提到的过滤器SetEncodingFilter 针对当前网站有效。
heronexus 2008-10-30
  • 打赏
  • 举报
回复
楼主把它设置成GBK或UTF-8试试~
Fanny 2008-10-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lg312200538 的回复:]
补充一下,我上面说的是转码,有的要转,有的不要转,视情况而定.
如果你只是java一种语言的话,每个jsp的第一名加request.setCharacterEncoding("gb2312"); 静态的就应该没问题了,动态的最好再加一个转码.
[/Quote]

这种方法麻烦一些,不过可以解决很多问题,如果可以改编码的话还是用UTF-8方便一些 ^_^
startym 2008-10-30
  • 打赏
  • 举报
回复
response也设个编码
response.setCharacterEncoding("gb2312");
上帝之左手 2008-10-30
  • 打赏
  • 举报
回复
用UTF8吧!问题少点!
加载更多回复(7)

81,094

社区成员

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

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