浏览 1441 次
锁定老帖子 主题:关于Java 乱码的本质
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-03-27
还有几个地方不太明白 希望高手能给指点下迷津,小弟在此先谢过了 我java文件的编码设置的是 UTF-8编码 可能涉及到 String的 getBytes() 和 new String(char [] args)两个方法会调用到java文件的编码 以下这段代码 查看了下结果 byte [] iso = "待查".getBytes(); String iso_1 = new String(iso); //正常 String iso_2 = new String(iso,"ISO-8859-1");//乱码 byte [] utf = "待查".getBytes("utf-8"); String utf_1 = new String(utf);//正常 String utf_2 = new String(utf,"ISO-8859-1");//乱码 byte [] gb = "待查".getBytes("gb2312"); String gb_1 = new String(gb);//乱码 String gb_2 = new String(gb,"ISO-8859-1");//乱码 有以下几个问题想请教下 1.ISO-8859-1 编码范围 和 UTF-8 的 区域范围哪个大呢?为什么UTF-8编码获取到字节 用ISO-8859-1解码后还是乱码呢?也希望高手能推荐点获取这样资料的文章地址或者网站 2. 我有数据需要导出为execl 文件 设置导出的文件名的时候 我按下面的编码设置的,我页面的编码也是UTF-8 resp.setContentType("application/vnd.ms-excel :charset=gb2312"); resp.setHeader("Content-Disposition", "attachment;filename="+new String("待查人员.xls".getBytes("gb2312"),"gb2312")+";"); 怎么文件名还是乱码呢? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-05-11
不同的服务器编码格式是不一样的,一般服务器都会对收到的数据进行两次解码,但是不同的服务器解码方式不一样,具体你问问 谷歌大神,或者百度半仙
|
|
返回顶楼 | |