我們正在解析包含用戶信息(如姓名,年齡等)的xml文件。但用戶來自世界各地,我們需要在xml中使用不同的字符集。例如,有名稱爲「Sikl¢si」的用戶。如果我設置xml編碼UTF-8,c#xmldocument對象會在xml加載時拋出異常。我將編碼更改爲iso-8859-9,現在正在工作。但是,如果我們有另一個不在iso-8859-9中的有趣的字符,它將再次成爲問題。這個問題的最終解決方案是什麼?適用於多國解決方案的Xml編碼
0
A
回答
-1
使它成爲UTF-32,它將覆蓋其中的大部分。有關UTF的更多信息,請訪問this。
3
最終的解決方案是首先知道用什麼編碼來編碼文件。一個XML文件應該說明它在XML聲明中使用的編碼(例如<?xml charset="UTF-8" ?>
)。如果沒有,那麼文檔應該是UTF-8或UTF-16(並且它們之間的區別可以自動檢測)。
您的XML解析器應該根據XML文件中的信息透明地處理編碼。
如果您正在接收不會解析的文檔,那麼問題首先在於它是如何生成的。你應該拒絕他們,並告訴提交的修復編碼。 (請注意,任何Unicode編碼都可以處理您可能需要的任何字符(以及您不需要的大量數字)。問題是文檔不是UTF-8,不是UTF-8 -8不能處理正在使用的字符)。
相關問題
- 1. 可擴展的國際地理編碼解決方案
- 2. 適用於多項目解決方案的鏈接器選項
- 3. Puppet | XML編輯解決方案
- 4. ObjectCache不適用於多個解決方案項目?
- 5. URL編碼的設計解決方案
- 6. 1.4 Symfony的國際化解決方案
- 7. 適用於電子商務方式的PHP/MYSQL解決方案
- 8. 單向編碼解決方案
- 9. Ruby編碼練習解決方案(rubymonk)
- 10. VS 2010解決方案取決於另一個解決方案
- 11. 遞歸解決方案的動態編程解決方案
- 12. 適用於應用引擎加入的任何解決方案?
- 13. 適用於iPhone應用程序的存儲解決方案
- 14. 適用於Android,Facebook和Twitter授權的通用解決方案
- 15. 適用於iPhone應用程序的緩存解決方案
- 16. wordpress國際化解決方案
- 17. 包含多個解決方案的Visual Studio解決方案
- 18. 適用於.NET的可伸縮解決方案的模式
- 19. 適用於iPhone的類似WML的解決方案
- 20. Matlab編程解決方案
- 21. 適用於社交後臺的最佳解決方案
- 22. 適用於Maven Eclipse的Android - 解決方案未找到
- 23. 適用於此場景的最佳sql解決方案
- 24. 適用於Rails 3.2的L10N工作解決方案
- 25. 適用於iOS的離線MapKit解決方案
- 26. 適用於Ruby的簡單本地數據庫解決方案?
- 27. Ruby/Github:適用於OpenSSL :: SSL :: SSLError的一般解決方案?
- 28. 適用於.NET前端的打印解決方案,MYSQL後端
- 29. 寫作解決方案的分析儀適用於Visual Studio
- 30. 適用於Firefox事件目標的非jQuery解決方案
不,它不工作。我認爲XmlDocument不知道UTF-32。它會在根級別提供錯誤消息:根級別的數據無效。第1行,第40位 – londondev 2012-02-08 12:24:09
UTF-32將覆蓋您可能需要的所有可能的字符,但UTF-16和UTF-8也會覆蓋。沒有理由爲什麼UTF-32可以工作,而UTF-8不能。 – svick 2012-02-08 14:04:05