簡體   English   中英

在 Java 中讀取帶有重音字符的文件

[英]reading file with accented characters in Java

我遇到了兩個似乎沒有被ISO-8859-1字符集覆蓋的特殊字符,即它們無法進入我的程序。

德語ß和挪威語ø

我正在閱讀以下文件:

FileInputStream inputFile = new FileInputStream(corpus[i]);
InputStreamReader ir = new InputStreamReader(inputFile, "ISO-8859-1") ;

有沒有辦法讓我閱讀這些字符而不必應用手動替換作為解決方法?

[編輯]

這就是它在屏幕上的樣子。 請注意,我對其他口音沒有問題,例如è和很多...

在此處輸入圖像描述

這兩個字符都出現在 ISO-Latin-1 中(檢查我的名字,看看我為什么要研究這個)。

如果未正確讀取字符,最可能的原因是文件中的文本未以該編碼保存,而是以其他方式保存。

根據您的操作系統和文件的來源,可能的編碼可能是 UTF-8 或 Windows 代碼頁,如 850 或 437。

最簡單的方法是使用十六進制編輯器查看文件並報告為這兩個字符保存的確切值。

假設您的文件可能是UTF-8編碼的,試試這個:

InputStreamReader ir = new InputStreamReader(inputFile, "UTF-8");

ISO-8859-1 涵蓋 ß 和 ø ,因此文件可能以不同的編碼保存。 您應該將文件的編碼傳遞給new InputStreamReader()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM