flybenzsl500 发表于 2008-4-10 22:20

servelet中文乱码问题

我在servelet中通过out.print("<script>alert('失败');</script>")想弹出失败对话框.可是alert()中的文字是乱码.表现为两个问号.请各位指点一下!!

Ethip 发表于 2008-4-11 11:11

回复 1# 的帖子

响应用户请求时,应首先设置返回页面的类型和字符集!!!

你的servlet中的doGet()或者doPost()方法(或者service())里面有下面这行代码没有:
response.setContentType("text/html;charset=gb2312");

tomneusoft 发表于 2008-4-11 11:49

回复 2# 的帖子

我的主要问题是在写Cookie的时候,我在进行验证的时候,往里写入的是汉字,然后在新的界面显示的是乱码,response.setContentType("text/html;charset=gb2312");这个方法我试过了,但是不好使,还有其他的方法吗?再就是是否在Cookie中不能写入中文.

flybenzsl500 发表于 2008-4-11 20:10

感谢2楼

我的问题已经解决就是按照你说的那样。谢谢了

威震天下 发表于 2008-4-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");

Ethip 发表于 2008-4-12 10:38

回复 3# 的帖子

同意5楼!
数据在传输过程中的字符编码标准是iso的,显示时是gb2312!传输时,要进行字符编码转换!

页: [1]

编程论坛