我有一個小程序,可以將一些希伯來字母和一些數字寫入一個用 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 ר×?×a ×’×? 6013不要介意額外的空格,它們應該在那里。
添加回答
舉報
0/150
提交
取消