Tag: programming
-
PHP mail function 如何避免亂碼?
又是一個工作上碰到的問題,需要寫一個簡單的 email 發送功能。雖然是基本功能,不過常見的作法還是藉由 PHPMailer Library 來達成。不過這個案子因為寄信頻率很低,想說用 PHP 內建的 mail() 就可以處理了。但是人算不如天算,怎知 mail() 成功了,但是卻是一堆亂碼,標題、寄件人欄位都是亂碼….. 囧 經過一番 Google Search 的奮戰,找到一個很 tricky 的解決方法。將會出現亂碼的文字用以下方式處理…. “=?UTF-8?B?”.base64_encode(” 會出現亂碼的文字 “).”?=” 這樣用 GMAIL 收到信的時候就可以看到正常的文字了。 mail function 範例如下… function sendMail($recipient){ $subject = “=?UTF-8?B?”.base64_encode(“信件標題”).”?=”; $headers = “MIME-Version: 1.0\r\n”; $headers .= “Content-type: text/html; charset=UTF-8\r\n”; $headers .= “From: “.”=?UTF-8?B?”.base64_encode(“寄件人 “).”?=”; $headers .= “<sender@email.com>”; $message = ‘<p><font size=”3″ face=”新細明體”>信件內文</font></p>…