簡體   English   中英

使用Java從文件中讀取特殊字符?

[英]Reading special characters from the file using java?

我正在使用Java讀取文本文件,並且具有一些特殊字符,例如Yen(¥) 我在讀取文件時未指定任何編碼/字符集,並且在Windows中工作正常。 但是,如果我在Unix機器中部署相同的內容,那么¥被替換為' ? '。 現在,我將指定charset Windows-1252以避免出現此問題。 windows-1252可以在unix/linux機器上使用? 我的unix框字符集設置為' utf-8 '。 正在使用下面的代碼:

LineIterator iterator =FileUtils.lineIterator(*filename*,"Windows-1252");

StandardCharsets類為您提供了“保證在Java平台的每個實現中都可用”的編碼/字符集列表。

該列表不包含Windows編碼,但是對於Windows,Mac和Linux上的大多數常見Java版本,都可以使用Cp1251

請注意,當不可用時,您將收到UnsupportedCharsetExceptionUnsupportedEncodingException ,因此,上面的代碼是安全的(就不會產生垃圾而言)。

如果您想真正安全,通常的方法是在項目中僅使用UTF-8編碼的數據。

如果我正確理解了您的問題,通常可以通過使用文本編輯器將文本文件保存為UTF-8編碼,然后從Java程序打開該文件時再次指定UTF-8來解決此問題。

暫無
暫無

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

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