2012-01-16 56 views
2

我有phpmailer安裝程序從聯繫人窗體發送電子郵件。我將頁面設置爲UTF-8字符編碼,並在PHPMailer中將電子郵件編碼指定爲UTF-8。這一切工作正常,並允許我發送具有外國/特殊字符的電子郵件。我還將提交存儲在mysql數據庫中,並使用UTF-8編碼的htmlentities在將特殊字符存儲到數據庫之前將特殊字符轉換爲html實體。在將電子郵件包含在我發送的電子郵件中(至少在HTML部分,可能不是純文本)之前,在電子郵件文本中使用htmlentities會更好嗎,以確保所有字符都可以在許多電子郵件客戶端上訪問可能還是會沒有區別?此外,我使用enctype =「multipart/form-data」作爲表單,它工作正常並對我有意義,我只是想確保這是正確的?使用特殊字符發送html郵件時使用htmlentities更好嗎?

乾杯!

戴夫

+0

你如何設法繞過PHPMailer內置的HTML轉義? – 2012-01-16 15:49:50

+0

@Alvaro我不知道!我沒有意識到我是!我正在使用\t $ mail-> CharSet ='UTF-8';將其設置爲UTF-8並在html正文的頂部定義內容類型,但這不應該影響HTML轉義我不認爲? – deshg 2012-01-16 16:18:38

回答

0

大多數電子郵件客戶端會自動理解特殊字符,但如果你是在做它,你應該使用標準的HTML實體的所有接口兼容真正感興趣。 您可以使用這樣的事情在你的頭

<meta http-equiv="Content-Type" content="text/html charset=UTF-8" /> 

link提供了一個簡單而優雅的解決方案。

+0

感謝您的回覆和鏈接,我已經在上面描述的電子郵件標題中設置了內容類型爲utf-8(理論上這應該表示html實體編碼不是必需的),但可以推測(如您所說)儘可能兼容,儘管將內容類型設置爲utf-8,最好轉換爲html實體(對於消息的html部分,而不是純文本)?乾杯,戴夫 – deshg 2012-01-17 00:03:16