我已經編寫了一個腳本來從郵箱中讀取電子郵件。電子郵件中的Html特殊字符
在某些電子郵件中,我正在將一些數據轉換爲打亂我進一步處理的Wiered字符。
這些字符看起來像這樣http://brucejohnson.ca/HTMLCharacters13.html
不知道如何將它們轉換成原始內容。
我已經編寫了一個腳本來從郵箱中讀取電子郵件。電子郵件中的Html特殊字符
在某些電子郵件中,我正在將一些數據轉換爲打亂我進一步處理的Wiered字符。
這些字符看起來像這樣http://brucejohnson.ca/HTMLCharacters13.html
不知道如何將它們轉換成原始內容。
你檢查了字符編碼它必須是UTF-8
。如果它是western europian then change to UTF-8
字符集編碼可以是任何指定的,UTF-8是英文推薦的字符集,但是例如ISO-8859-X在拉丁美洲是標準的而不是UTF-8。這爲網絡應用帶來了其他問題,這些網絡應用已經爲英語市場開發,但已經交付給非英語市場,我來自新西蘭,但在巴西生活和發展,因此對我來說這是一個日常挑戰 – Ryan
如果腳本給你那些字符,那麼你有兩個選擇,看到字符的原樣,或看到該字符的數值等效(在各種基礎 - 八進制,十六進制等)。
您確定您的腳本沒有嘗試讀取加密的郵件,並且您的腳本正常工作嗎?
嘗試通過您編寫的函數/腳本添加一些虛擬測試數據,以查看它是否產生您期望的輸出。
希望這可以幫助
您需要先檢查電子郵件標題中的字符集編碼。
一旦你做到了這一點,你再選擇1 2種方法,改變字符集的HTML或更改字符集(如果可能)字符集你已經在使用(可能是UTF-8)
如果你動態地改變標題中的HTML字符集,那麼你最大的問題是用戶需要在他們的瀏覽器設置中指定正確的字符集,例如我的設置爲UTF-8,但是我的電子郵件在ISO-8859-1中,所以如果我我每次看網站時都會使用這種方法,所以我需要更改我的瀏覽器字符集,但我的一個朋友將ISO-8859-1作爲他的正常字符集,所以他不會有任何問題。
如果您將字符編碼爲UTF-8(例如php中的utf8_encode),則需要確保內容不在UTF-8中,否則您可能會發現編碼函數會創建其他無效字符。
我處理這個問題的方式主要是解碼電子郵件的MIME頭,然後使用PHP中的preg_match檢測正在使用的字符集,從那裏運行編碼爲UTF-8或不。
這是一個非常複雜的活動,有時根據郵件的發件人處理郵件和各種各樣的字符集,事先並不知道會使用哪些字符集,因此您需要真正理解各種字符集,如果存儲它們以及它們如何最好地顯示,則最好存儲,然後您需要將其轉換爲您的應用程序和目標市場。
GOOD運氣與您的應用程序
您確定他們是字符「替換」或字符「添加」? – FinalForm