2012-08-03 31 views
0

我正在嘗試從文本文件中讀取文本。有一些特殊字符,如å,ä和ö。當我做一個字符串並打印出來的字符串,然後我得到了?來自這些特殊字符。我正在使用以下代碼:爲什麼我變得?當我嘗試從java中的文本文件讀取字符?

File fileDir = new File("files/myfile.txt"); 

BufferedReader br = new BufferedReader(new InputStreamReader(
         new FileInputStream(fileDir), "UTF8")); 

String strLine; 
while ((strLine = br.readLine()) != null) { 
    System.out.println("strLine: "+strLine); 
} 

有人可以告訴我最新的問題。我希望StrLine能夠顯示並保存文本文件中的å,ä和ö。提前致謝。

+3

如果該文件實際上不是UTF 8,則會發生這種情況。 – SLaks 2012-08-03 18:46:37

+1

確保您正在閱讀的文件實際上是以UTF-8編碼的。 – 2012-08-03 18:47:14

+0

該文件的內容是什麼?請寫下有問題的內容 – 2012-08-03 18:49:41

回答

1

該問題可能不是與該文件,但與您試圖打印控制檯。我建議您按照以下步驟操作

  1. 確保您正在閱讀的文件使用UTF-8編碼。
  2. 確保您打印到控制檯有正確的編碼/字符集來顯示這些字符

最後,本文Unicode - How to get characters right?是一本必讀書。

相關問題