由於很多收信軟體或是線上收信的客戶端都是以Big5去做預設的解碼
所以寄信時以Big5寄出則有較高的相容性
因為PHP用mail去寄信時預設是以UTF-8為編碼
所以需要多做一些手腳
以下是程式是來自我寫的網頁
也就是兩個重點
ㄧ、字串要經過轉碼,以下列的方式
$big_string= mb_convert_encoding($utf8_string,"big5","utf-8");
P.S.要安裝php_mbstring
二、mail header的部份要包含Content-Type: text/plain; charset=big5";
這樣使用麻瓜寫的軟體去收信也不會有問題嚕XD
$mail_to = "$email";
$mail_to = mb_convert_encoding($mail_to,"big5","utf-8");
$mail_from = "nscpower2005@ee.kuas.edu.tw";
$mail_from = mb_convert_encoding($mail_from,"big5","utf-8");
$mail_reply_to = "nscpower2005@ee.kuas.edu.tw";
$mail_reply_to = mb_convert_encoding($mail_reply_to,"big5","utf-8");
$mail_subject = "國科會工程處電力學門九十九年度專題研究計畫成果發表會確認信[$num](test)";
$mail_subject = mb_convert_encoding($mail_subject,"big5","utf-8");
$mail_body = "$m1\r\n"."$m2\r\n"."$m3\r\n"."$m4\r\n"."$m5\r\n"."$m6\r\n"."$m7\r\n"."$m8\r\n\r\n"."$m9\r\n\r\n"."如有任何問題,請隨時參考本會議網址:http://nscpower2011.ee.kuas.edu.tw/\r\n";
$mail_body = mb_convert_encoding($mail_body,"big5","utf-8");
$mail_bcc = "pen@mail.ee.kuas.edu.tw, shaw@mail.ee.kuas.edu.tw";
$mail_bcc = mb_convert_encoding($mail_bcc,"big5","utf-8");
$mail_headers = "From: $mail_from\r\nReply-to: $mail_reply_to\r\nBcc: $mail_bcc\r\nContent-Type: text/plain; charset=big5";
$headers = mb_convert_encoding($mail_headers,"big5","utf-8");
if (mail($mail_to, $mail_subject, $mail_body, $mail_headers)) {
echo "系統已發出確認信!
";
} else {
echo "$num的確認信發送失敗!
";
}