注册 登录
编程论坛 J2EE论坛

servelet中文乱码问题

flybenzsl500 发布于 2008-04-10 22:20, 1461 次点击
我在servelet中通过out.print("<script>alert('失败');</script>")想弹出失败对话框.可是alert()中的文字是乱码.表现为两个问号.请各位指点一下!!
5 回复
#2
Ethip2008-04-11 11:11
回复 1# 的帖子
响应用户请求时,应首先设置返回页面的类型和字符集!!!

你的servlet中的doGet()或者doPost()方法(或者service())里面有下面这行代码没有:
response.setContentType("text/html;charset=gb2312");
#3
tomneusoft2008-04-11 11:49
回复 2# 的帖子
我的主要问题是在写Cookie的时候,我在进行验证的时候,往里写入的是汉字,然后在新的界面显示的是乱码,response.setContentType("text/html;charset=gb2312");这个方法我试过了,但是不好使,还有其他的方法吗?再就是是否在Cookie中不能写入中文.
#4
flybenzsl5002008-04-11 20:10
感谢2楼
我的问题已经解决就是按照你说的那样。谢谢了
#5
威震天下2008-04-11 20:24
回复 3# 的帖子
response.setContentType("text/html;charset=gb2312");
该设置是告诉浏览器以中文方式显示页面的内容.

你说的往cookie里写东西,这是编码格式不同导致的
往cookie里写,是以iso-8859-1格式,所以你取出来的时候要转码
你取出来的定是个字符串,假定为String strName;
eg:
 String str = new(strName.getBytes("iso-8859-1"),"gb2312");
#6
Ethip2008-04-12 10:38
回复 3# 的帖子
同意5楼!
数据在传输过程中的字符编码标准是iso的,显示时是gb2312!传输时,要进行字符编码转换!
1