我一直對Unicode的閱讀起來,UTF-8編碼不顯示了一段時間,我想我明白了,所以希望這不會是一個愚蠢的問題:UTF-8 CJK字符在Java中
我有一個包含一些CJK字符的文件,並且已經保存爲UTF-8。我安裝了各種亞洲語言包,其他應用程序也能正確顯示字符,所以我知道這很有用。
在我的Java應用程序,我讀的文件如下:
// Create objects
fis = new FileInputStream(new File("xyz.sgf"));
InputStreamReader is = new InputStreamReader(fis, Charset.forName("UTF-8"));
BufferedReader br = new BufferedReader(is);
// Read and display file contents
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
System.out.println(sb);
輸出顯示CJK字符爲 '???'。撥打is.getEncoding()
確認它確實使用UTF-8。我錯過了什麼步驟才能使角色正確顯示?如果它有所作爲,我正在使用Eclipse控制檯查看輸出。
什麼是您正在使用的IDE(Netbeans,Eclipse等)? – Abdelwahed 2011-05-11 14:02:56
@Abdelwahed Eclipse(Helios) – Twicetimes 2011-05-11 14:07:15
我之前用阿拉伯字符試過,而我遇到同樣的問題。但是當我放了一個喙點並檢查了字符串時,我發現字符串正確顯示。我將它打印在一個文件中,並且沒問題。 – Abdelwahed 2011-05-11 14:13:41