我正在創建一個非常簡單的應用程序,它從一個文件讀取一些輸入並生成具有該信息的另一個文件。我在Windows 7上運行它,它沒有任何問題,但是當我在Mac OS上運行它時,特殊字符不能正確顯示。編寫文件時的java編碼問題
這裏是我的代碼:
Writer writer = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream(destiny),"utf-8"));
writer.write(infoFromInputFile);
writer.close();
我聲明我FileOutputStream中使用UTF-8編纂,當我檢查了創建文件的屬性,它說,它是UTF-8,但特殊字符像¿,á,é,í,¡等等顯示錯誤。
爲什麼會發生這種情況的任何想法?
什麼是'infoFromInputFile'?它從何而來?你的終端是否支持顯示你提到的字符? – fge
infoFromInputFile是一個帶有特殊字符的字符串。我把它印在控制檯上,它被適當地顯示出來。 – user2751809
請不要套用重要的信息,比如「像......這樣的特殊字符」。做一個複製/粘貼,以顯示你所看到的,最好在一個代碼塊(縮進4個空格),並告訴我們你在哪裏/如何顯示數據。輸出結果很可能是正確的,無論是顯示數據都不支持UTF-8。 –