我有一个小程序,可以将一些希伯来字母和一些数字写入一个用 JAVA 编写的文件中。当我从 Eclipse 运行程序时,希伯来语写得很好,但是如果我将它导出到一个可执行的 JAR 文件中并从那里运行它,希伯来语就会变成胡言乱语我的代码:if (content.length() > 0) { FileWriter fileWriter = new FileWriter(path); BufferedWriter bufferedWriter = new BufferedWriter(fileWriter); bufferedWriter.write(content); bufferedWriter.close();}我还尝试使用 OutputStreamWriter 自己设置编码:if (content.length() > 0) { BufferedWriter bufferedWriter = new BufferedWriter (new OutputStreamWriter(new FileOutputStream(path), "windows-1255")); bufferedWriter.write(content); bufferedWriter.close();}我试过的编码:ISO-8859-8视窗-1255x-IBM856IBM862IBM424UTF-8当我从 eclipse 运行程序时,其中一些返回正确的希伯来语,但是当从 JAR 文件运行时,所有这些都将希伯来语转换为不同类型的乱码。我什至不确定代码本身的编码是问题还是解决方法。我在 Windows 10 上使用批处理文件运行 JAR。我的 Java 版本信息:java版本“10.0.1” 2018-04-17Java(TM) SE 运行时环境 18.3(构建 10.0.1+10)Java HotSpot(TM) 64 位服务器 VM 18.3(构建 10.0.1+10,混合模式)使用 UTF-8 时的输出示例希伯来文文件中的一行(由 eclipse 生成):210001 188 13 04/09/1804/09/18 50.00 1 123456789 לירון קטלן הרא"ה 291 רמת גן 6013来自乱码文件(从 JAR 生成)的同一行:210001 188 13 04/09/1804/09/18 50.00 1 123456789 לירון קטלן הר×�"×” 291 רמת גן 6013不要介意额外的空格,它们应该在那里。
添加回答
举报
0/150
提交
取消