| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 510 人关注过本帖
标题:servelet中文乱码问题
收藏  订阅  推荐  打印 
flybenzsl500
Rank: 1
等级:新手上路
帖子:21
积分:356
注册:2008-4-10
servelet中文乱码问题

我在servelet中通过out.print("<script>alert('失败');</script>")想弹出失败对话框.可是alert()中的文字是乱码.表现为两个问号.请各位指点一下!!
搜索更多相关主题的帖子: servelet  乱码  中文  对话框  alert  
2008-4-10 22:20
Ethip
Rank: 4
等级:高级会员
威望:6
帖子:723
积分:8002
注册:2008-1-18
回复 1# 的帖子

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

你的servlet中的doGet()或者doPost()方法(或者service())里面有下面这行代码没有:
response.setContentType("text/html;charset=gb2312");
2008-4-11 11:11
tomneusoft
Rank: 1
等级:新手上路
帖子:18
积分:282
注册:2007-4-22
回复 2# 的帖子

我的主要问题是在写Cookie的时候,我在进行验证的时候,往里写入的是汉字,然后在新的界面显示的是乱码,response.setContentType("text/html;charset=gb2312");这个方法我试过了,但是不好使,还有其他的方法吗?再就是是否在Cookie中不能写入中文.
2008-4-11 11:49
flybenzsl500
Rank: 1
等级:新手上路
帖子:21
积分:356
注册:2008-4-10
感谢2楼

我的问题已经解决就是按照你说的那样。谢谢了
2008-4-11 20:10
威震天下
Rank: 1
等级:新手上路
帖子:31
积分:416
注册:2007-2-19
回复 3# 的帖子

response.setContentType("text/html;charset=gb2312");
该设置是告诉浏览器以中文方式显示页面的内容.

你说的往cookie里写东西,这是编码格式不同导致的
往cookie里写,是以iso-8859-1格式,所以你取出来的时候要转码
你取出来的定是个字符串,假定为String strName;
eg:
String str = new(strName.getBytes("iso-8859-1"),"gb2312");
2008-4-11 20:24
Ethip
Rank: 4
等级:高级会员
威望:6
帖子:723
积分:8002
注册:2008-1-18
回复 3# 的帖子

同意5楼!
数据在传输过程中的字符编码标准是iso的,显示时是gb2312!传输时,要进行字符编码转换!
2008-4-12 10:38
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.052383 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved