我的问题从这里继续输出utf-8。目前我正在使用:
PrintWriter bout = new java.io.PrintWriter(filename,"UTF-8");
,它仍然不能工作。正如@dacwe建议的,我使用命令行
-Dfile.encoding=UTF-8
来执行我的.jar文件,它工作了,其中创建了所需的utf-8文件输出(没有字母问题)。所以我认为这个解决方案就像eclipse.exe如何与eclipse目录中的。ini文件一起工作。我可以把我的Java程序包装成exe并让程序包含。ini文件吗?或者有人能提出可行的建议吗?我的程序读取csv文件(从opencsv)和输出作为UTF-8文本。
从这个问题:使用OpenCSV解析包含Unicode字符的CSV文件
你应该这样使用你的CSVReader:
CSVReader reader=new CSVReader(
new InputStreamReader(new FileInputStream("d:\a.csv"), "UTF-8"),
',', ''', 1);
您不需要设置任何环境属性,如file.encoding
或其他。
使用shell脚本或批处理文件传递JVM参数。
shell脚本示例
#!/bin/sh
java -jar yourJar.jar -Dfile.encoding=UTF-8 "$@"
windows批处理文件请查看http://www.computerhope.com/batch.htm