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 打印出来的日文汉字都可以正常显示,
为什么生成文件之后就是乱码呢
FileWriter fw = new FileWriter(dir + "/" + fileName);
System.out.println("〇〇〇 fw=" + fw);
System.out.println("〇〇〇 csvStringBuffer=" + csvStringBuffer.toString());
fw.write(csvStringBuffer.toString());
System.out.println 打印出来的日文汉字都可以正常显示,
为什么生成文件之后就是乱码呢
解决方案 »
- 如何做批量上传,我会单个的上传,可以把单个上传改成批量上传么
- jxl导入错误:jxl.biff.drawing.Opt cannot be cast to jxl.biff.drawing.EscherContainer
- tomcat5.0可以开发javamail吗?
- 怎么用java把excel中的数据一行一行的读出来
- 在Java中创建表格,在JSP中输出
- HttpServlet与GenericServlet的区别?
- JSP是不是就是用各种元素将Bean的结果返回给用户
- 如何不让JSP页面显示NULL!!!急
- mysql一问!
- java web项目 下载功能 浏览器无显示
- jfreechart绘制多边形
- SSH2:数据库中的数据不能同步(很奇怪)
可把程序运行在UNIX下面就乱码了。生成的文件名以及文件中的内容,是日文汉字的都是乱码
http://topic.csdn.net/u/20101012/10/4d04e891-a0ac-4fd2-b1b8-29cbb6c32dbf.htmlOK 试验下的,谢谢
文件生成的时候,什么字符集也没有指定,在UNIX下查看不是乱码。
而当用
SCPClient client = new SCPClient(conn);
client.put(local,remoteDir);
这个把UNIX下面的临时文件传送到服务器(linux)上之后,这个文件里的内容就是乱码了
如果像上面的生成文件的时候就指定UTF-8 则生成的这个文件在UNIX下查看就是乱码了。就更不用说传送之后的文件了
解决所有的乱码 问题
import org.koala.internals.SSH;
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());
}