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 打印出来的日文汉字都可以正常显示,
为什么生成文件之后就是乱码呢

解决方案 »

  1.   

    文件是什么类型?IDE中可以正常显示的字体,文本中不一定可以正常显示
      

  2.   

    我再本地WINDOW系统下是能够正常显示的,不乱码。
    可把程序运行在UNIX下面就乱码了。生成的文件名以及文件中的内容,是日文汉字的都是乱码
      

  3.   

    统一所有编码格式(工程、页面、过滤器、UNIX下数据库的编码格式)。
      

  4.   

    OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(fileName), "UTF-8");OutputStreamWriter这个类可以指定文件编码,和写入的对上
      

  5.   

    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.htmlOK 试验下的,谢谢
      

  6.   


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

  7.   

    String(*****.getBytes("iso8859-1"),"UTF-8")
    解决所有的乱码 问题
      

  8.   

    如何能知道这样的一个包去哪里下载
    import org.koala.internals.SSH;
      

  9.   

    现在主要是两台机器 ,本地UNIX和 服务器LINUX的字符集不一致,不知道这样传送文件的时候如何让字符集统一,或是如何转化呢!
      

  10.   

    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());
                    }