我已經設置了一個處理傳入電子郵件並在Blogger上創建博客條目的腳本。我正在使用PEAR的Mail_Mime庫(現在)來讀取傳入的消息。這些消息通常包含無法被瀏覽器讀取的字符 - 當人們使用Outlook或從MS Word剪切/粘貼時,這種情況經常發生。如何格式化傳入的電子郵件文本以顯示HTML
因此,在另一端的輸出是這樣的:
下面是測試後用「引號」和「apostrophesfor什麼它的價值,它也有dashesand其他奇怪從MS Word格式化剪切和粘貼。
你也可以在野外see the output。
修復任何特定的實例並不難,但每個客戶端(hotmail,gmail,outlook等)似乎處理事情有點不同。 Mail_Mime似乎只能輸出輸出,如果我關閉Mail_Mime的解析並嘗試使用mb_convert_encoding自己翻譯編碼的字符或對其進行手動模擬,那更糟糕。
請注意,這不會通過選擇正確的編碼類型和使用解碼/編碼/轉換功能來解決。傳入的格式從Windows-1252到UTF8不同,幾乎任何郵件客戶端都可以想到。
有沒有人在此之前編寫腳本,可以通過提供最佳方法的示例或建議來節省一些時間?我已經嘗試了所有簡單的答案並做了大量的實驗,所以請不要麻煩回答,除非您已成功處理類似問題或對編碼問題有深入的瞭解。
電子郵件必須解釋爲在標題中指定(請參閱*內容中的* charset *參數類型*字段)。如果缺少,RFC 5322意味着US-ASCII。 – Gumbo 2010-07-16 16:13:26
這是由Mail_Mime自動完成的。這個問題比簡單理解協議複雜得多。 – Kato 2010-07-19 02:30:44
這篇文章有一些有趣的想法:http://stackoverflow.com/questions/2686515/problem-with-character-encoding-on-email-sent-via-php 我無法弄清楚它如何適用於但我的問題。 – Kato 2010-07-19 18:44:17