我想用以下代码从jar文件创建一个UTF-8文件:
public class UTF8 {
public static void main(String[] args) throws Exception {
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(
"utf8.txt"), "UTF8"));
out.write("Look at this BASTÖÖÜÜÄÄ!");
}
}这段代码在使用eclipse时运行得非常好。但是如果我把它打包成一个jar文件,它会使用一种依赖于平台的文件编码(Cp1252,例如在Windows上)。我能对此做些什么呢?
发布于 2010-11-26 04:10:47
"UTF8"应为"UTF-8"。UnsupportedEncodingException。Exception公共静态空main(String[] args)引发异常{}
这阻止了您查看真正的异常是什么以及在哪里发生的。
发布于 2011-05-24 04:40:44
在Launch4j的JRE选项卡上的JVM options字段中(加载配置文件之后),输入以下内容:
-Dfile.encoding=UTF8ALternatively可以在应用程序的ini文件中指定相同的内容-请参阅位于以下位置的launch4j文档:
http://launch4j.sourceforge.net/docs.html#Additional_jvm_options
发布于 2010-11-26 04:15:14
调试编码问题时的经验法则是:如果字符串中包含非us-ascii字母,请尝试将它们替换为Unicode转义(即BAST\u00d6\u00d6\u00dc\u00dc\u00c4\u00c4)。如果问题消失,则说明源代码/编译器编码不匹配。
例如,如果源代码编码为Windows-1252,而编译器编码为UTF-8,则可能会发生您所描述的行为。
https://stackoverflow.com/questions/4280519
复制相似问题