论坛首页 Java企业应用论坛

关于Java 乱码的本质

浏览 1441 次
精华帖 (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")+";");

怎么文件名还是乱码呢?

   发表时间:2012-05-11  
不同的服务器编码格式是不一样的,一般服务器都会对收到的数据进行两次解码,但是不同的服务器解码方式不一样,具体你问问 谷歌大神,或者百度半仙
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics