在Java錯誤數據庫http://bugs.sun.com/view_bug.do?bug_id=4508058的頁面上,它顯示Sun/Oracle不會解決Java不解析UTF-8編碼字符串的BOM的問題。由於本頁最新的評論可以追溯到2010年,我想知道是否有關於此的更新信息? Java不能處理UTF-8的BOM嗎?Java:UTF-8和BOM
2
A
回答
3
是的,Java不能處理UTF8編碼文件中的BOM。解析用於數據格式化目的的多個XML文件時遇到此問題。既然你不知道什麼時候可能碰到它們,如果你在運行時發現它,或者按照tchrist給出的建議,我會建議剝離BOM標記。
+0
如果你對如何做到這一點感到茫然:一個快速的方法是'if(text.codePointAt(0)== 0xfeff)text = text.substring(1,text.length());'(這也會捕獲UTF-8 BOM EF BB BF)。更詳細的方法描述如下:http://stackoverflow.com/questions/1835430/byte-order-mark-screws-up-file-reading-in-java/1835529#1835529 – user149408 2015-05-24 14:21:53
相關問題
- 1. Weblogic和BOM
- 2. CRichEditCtrl和Unicode BOM
- 3. UTF-8 BOM和PHP頭
- 4. 在Windows和Unix中的BOM
- 5. BOM引起_GPL_e6a00_parent_div?
- 6. UTF8 Python的BOM
- 7. Netsuite Advanced PDF BOM
- 8. 帶BOM的UTF-8 HTML和CSS文件(以及如何用Python刪除BOM)
- 9. JavaScript中的DOM和BOM是什麼?
- 10. 使用maven-war-plugin和spring BOM
- 11. JBoss Maven BOM和傳遞依賴
- 12. boost :: property_tree :: ptree和帶有BOM的UTF-8
- 13. UTF-8 BOM問題
- 14. UTF-8沒有BOM?
- 15. VB腳本BOM UTF-8編碼文件刪除BOM
- 16. Gradle:Spring 4 bom依賴項
- 17. Emacs hexl-mode UTF8 BOM問題
- 18. 將BOM保存到文件
- 19. 可怕的UTF-8 BOM
- 20. 春BOM用法錯誤
- 21. SVN diff命令 - 忽略BOM
- 22. 從網站刪除BOM?
- 23. 的StreamReader未能檢測BOM
- 24. SSRS XML導出 - 刪除BOM
- 25. UTF8編碼沒有BOM - PowerShell
- 26. grep不適用於BOM
- 27. 跟蹤關於如何獲取BOM及其子BOM(物料清單)的過程
- 28. 需要對Oracle 10g上的BOM IMPLOSION或BOM「WHERE-USED」進行Oracle查詢
- 29. 以UTF-8和UTF-8的BOM格式導入文件
- 30. 問題與XDocument和BOM(字節順序標記)
我不同意你是如何說明這個問題的,但是:對於UTF-8,Java編碼器和解碼器當然不會考慮多餘的BOM。 UTF-8上的BOM確實是一個壞消息,並且會破壞各種各樣的事情。請不要使用它們;如果您發現自己需要指定文件編碼,則可以使用更高級別的協議,例如MIME頭文件,嵌入式聲明或以任何編程語言發表評論,或通過慣用文件擴展名「.utf8」。 – tchrist 2012-03-26 16:59:38
我同意你的意見。但是,如果您想要創建一個用戶可以直接在Excel中打開的UTF-8 csv文件,則無法繞過BOM。如果您不使用物料清單,它會將其作爲ANSI文件讀取。 (微軟應該被控制所有的開發時間,他們的BOM花費了世界) – dstibbe 2012-06-08 13:51:17