当前位置: 代码迷 >> Java Web开发 >> servelet中文乱码问题
  详细解决方案

servelet中文乱码问题

热度:150   发布时间:2008-04-10 22:20:12.0
servelet中文乱码问题
我在servelet中通过out.print("<script>alert('失败');</script>")想弹出失败对话框.可是alert()中的文字是乱码.表现为两个问号.请各位指点一下!!
搜索更多相关主题的帖子: servelet  乱码  中文  对话框  alert  

----------------解决方案--------------------------------------------------------
回复 1# 的帖子
响应用户请求时,应首先设置返回页面的类型和字符集!!!

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

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