生成的文件是乱码如何解决

「已注销」 2010-10-11 01:41:17
File foder = new File(dir);
FileWriter fw = new FileWriter(dir + "/" + fileName);
System.out.println("〇〇〇 fw=" + fw);
System.out.println("〇〇〇 csvStringBuffer=" + csvStringBuffer.toString());
fw.write(csvStringBuffer.toString());


System.out.println 打印出来的日文汉字都可以正常显示,
为什么生成文件之后就是乱码呢
...全文
133 点赞 收藏 17
写回复
17 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
「已注销」 2010-10-13
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file1));
if (csvStringBuffer != null && !StringUtil.isEmpty(csvStringBuffer.toString())) {
out.write(csvStringBuffer.toString().getBytes());
}

上面的生成文件和下面的生成文件有什么区别呢
File file1 = new File(dir + "/" + fileName);
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(file1), "Shift-JIS");
if (csvStringBuffer != null && !StringUtil.isEmpty(csvStringBuffer.toString())) {
out.write(csvStringBuffer.toString());
}

回复
xrjkgd 2010-10-12
学习。。。。。
回复
「已注销」 2010-10-12
如何能知道这样的一个包去哪里下载
import org.koala.internals.SSH;
回复
Marty束 2010-10-12
String(*****.getBytes("iso8859-1"),"UTF-8")
解决所有的乱码 问题
回复
「已注销」 2010-10-12
[Quote=引用 9 楼 villagehead 的回复:]
引用 8 楼 apchy 的回复:

OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(fileName), "UTF-8");

OutputStreamWriter这个类可以指定文件编码,和写入的对上


被抢先了

good luck
[/Quote]

文件生成的时候,什么字符集也没有指定,在UNIX下查看不是乱码。
而当用
SCPClient client = new SCPClient(conn);
client.put(local,remoteDir);
这个把UNIX下面的临时文件传送到服务器(linux)上之后,这个文件里的内容就是乱码了


如果像上面的生成文件的时候就指定UTF-8 则生成的这个文件在UNIX下查看就是乱码了。就更不用说传送之后的文件了
回复
「已注销」 2010-10-12
http://topic.csdn.net/u/20101012/10/4d04e891-a0ac-4fd2-b1b8-29cbb6c32dbf.html
http://topic.csdn.net/u/20101012/10/4d04e891-a0ac-4fd2-b1b8-29cbb6c32dbf.html

OK 试验下的,谢谢
回复
villagehead 2010-10-12
[Quote=引用 8 楼 apchy 的回复:]

OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(fileName), "UTF-8");

OutputStreamWriter这个类可以指定文件编码,和写入的对上
[/Quote]

被抢先了

good luck
回复
apchy 2010-10-12
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(fileName), "UTF-8");

OutputStreamWriter这个类可以指定文件编码,和写入的对上
回复
bluemouse_2008 2010-10-12
统一所有编码格式(工程、页面、过滤器、UNIX下数据库的编码格式)。
回复
宁波朱超 2010-10-12
国际化的问题
你把IE的语言改成日语看看
回复
「已注销」 2010-10-12
现在主要是两台机器 ,本地UNIX和 服务器LINUX的字符集不一致,不知道这样传送文件的时候如何让字符集统一,或是如何转化呢!
回复
铁匠梁 2010-10-11
写文件需要指定字符集,读文件也要指定字符集,如果操作系统不支持这种字符集那就没办法了。
回复
ruru521elva 2010-10-11
貌似也不会 坐坐 沙发 重新安装
回复
「已注销」 2010-10-11
[Quote=引用 1 楼 foolishdault 的回复:]
乱码的根源是 写文件的编码 和 读取时的不一致引起。
[/Quote]

文件在生成的时候也没有指定什么类型啊
回复
「已注销」 2010-10-11
我再本地WINDOW系统下是能够正常显示的,不乱码。
可把程序运行在UNIX下面就乱码了。生成的文件名以及文件中的内容,是日文汉字的都是乱码

回复
hongboyongqi 2010-10-11
文件是什么类型?IDE中可以正常显示的字体,文本中不一定可以正常显示
回复
铁匠梁 2010-10-11
乱码的根源是 写文件的编码 和 读取时的不一致引起。
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-11 01:41
社区公告
暂无公告