0

我的问题从这里继续utf-8 作为输出。目前我正在使用:

PrintWriter bout = new java.io.PrintWriter(filename,"UTF-8");

它仍然无法正常工作。正如@dacwe 建议的那样,我使用了命令行

-Dfile.encoding=UTF-8

执行我的 .jar 文件并且它起作用了,在其中创建了所需的 utf-8 文件输出(没有字母概率)。所以我在想这个解决方法,就像 eclipse.exe 如何与 eclipse 目录中的 .ini 文件一起工作一样。我可以包装我的java prog 进入 exe 并让程序包含 .ini 文件?或者有人可以提出任何可行的想法吗?我的程序读取 csv 文件(来自 opencsv)并以 UTF-8 文本输出。

4

2 回答 2

1

使用 shell 脚本或批处理文件来传递 JVM 参数。

示例外壳脚本

#!/bin/sh
java -jar yourJar.jar -Dfile.encoding=UTF-8 "$@"

对于 Windows 批处理文件,请查看http://www.computerhope.com/batch.htm

于 2011-07-19T08:15:15.873 回答
1

从这个问题:Parse CSV file contains a Unicode character using OpenCSV

你应该像这样使用你的 CSVReader:

CSVReader reader=new CSVReader(
    new InputStreamReader(new FileInputStream("d:\\a.csv"), "UTF-8"), 
    ',', '\'', 1);

而且您不需要设置任何环境属性file.encoding或其他任何东西。

于 2011-07-19T08:31:15.787 回答