Q
à ©和其他代碼
7
A
回答
16
看起來你最初有一個被解釋爲8位編碼(例如ISO-8859-15)和實體編碼的UTF-8文件。我這樣說是因爲序列C3A9看起來像一個相當可信的UTF-8 encoding sequence。
您需要先對其進行實體解碼,然後再次使用UTF-8編碼。然後你可以使用類似iconv的東西來轉換爲你選擇的編碼。
要通過你的工作,例如:
- Ã ©將被解碼爲字節序列0xC3A9
- 0xC3A9 = 11000011 10101001二進制
- 在第一個八位字節中的前導110告訴我們這可能被解釋爲一個UTF-8兩字節序列。由於第二個八位字節以10開頭,我們正在尋找一些我們可以解釋爲UTF-8的東西。要做到這一點,我們採取的第一個字節的最後5位,第二個字節的最後6位...
- 因此,解釋爲UTF8這是00011101001 = E9 = E(LATIN SMALL LETTER E WITH ACUTE)
你提到想用PHP來處理這個問題,像這樣的東西可能會爲你做:
//to load from a file, use
//$file=file_get_contents("/path/to/filename.txt");
//example below uses a literal string to demonstrate technique...
$file="&Précédent is a French word";
$utf8=html_entity_decode($file);
$iso8859=utf8_decode($utf8);
//$utf8 contains "Précédent is a French word" in UTF-8
//$iso8859 contains "Précédent is a French word" in ISO-8859
相關問題
- 1. PHP短代碼功能添加其他短代碼其他總和
- 2. 如何解碼亂碼字符編碼:èas \ xc3 \ x83 \ xc2 \ x85 \ xc3 \ x82 \ xc2 \ xa0
- 3. sun.awt.AppContext和其他的源代碼?
- 4. HTML和其他代碼集成
- 5. ReliabilityContract和IComparer(或其他注入代碼)
- 6. PHP代碼analayzer和其他工具
- 7. jQuery代碼打破其他代碼
- 8. Python代碼跳到其他
- 9. C#使用其他代碼
- 10. 優化熊貓代碼:取代'iterrows'和其他想法
- 11. 如何將其他代碼轉換爲json(或其他)格式?
- 12. 使用GZIP,我可以編寫'Sloppy'CSS(和其他類型的代碼)代碼嗎?
- 13. 在Netbeans IDE或其他代碼完成
- 14. jQuery captify衝突其他jQuery代碼
- 15. 代碼防盜 - Chaperon或其他類似
- 16. WaitDialogForm.ShowDialog()不處理其他代碼
- 17. HTTP狀態代碼406,沒有其他
- 18. Twilio - 如果機器的其他代碼
- 19. '其他'(T_ELSE)在你的代碼行21
- 20. 代碼重複運行其他語句
- 21. 延遲不運行其他代碼行
- 22. 如何逃避其他代碼 - PHP
- 23. 代碼審查 - 如果其他功能
- 24. Ajax呼叫阻止其他javascript代碼
- 25. Node.js:從其他文件調用代碼
- 26. python代碼不返回其他語句?
- 27. 只確認其他部分代碼
- 28. 訪問DetectIdleTime AutoExec打破其他代碼
- 29. Eclipse插件或其他代碼腳註
- 30. 如何開始閱讀其他代碼?
你究竟是什麼意思?你在十六進制編輯器中打開文件時看到了什麼? – 2010-11-14 14:02:07
對不起,我的不好解釋。我的意思是,使用PHP的utf8_decode()函數可以顯示實際值,但我需要將其更改爲整個文件。怎麼做? – Matts 2010-11-14 14:03:10