[教學] 網站UTF-8化之後,郵件標題在webmail上會變成亂碼的簡易修改
發表於 : 2005-04-09 23:28
很多人都會提到網站UTF-8化之後,phpbb寄出的信在webmail上主旨會變成亂碼,當然小弟也是
後來在其他php網站找到一個好用的function,那就是iconv()函數,至於怎麼改請往下看
環境需求PHP版本 >= 4.0.5 而且有把iconv模組編譯進去
適用版本:2.0.13(因為我是用2.0.13啦,其他版本應該也行)
適用語系:正體中文
修改方式:
如果您的網站是簡體中文請把
改成
經過以上修正之後,在yahoo的web mail上看信就不會變成亂碼了
不過這種方式比較適合採用單一語系的網站,如果是多語系共存的
還是會出問題
後來在其他php網站找到一個好用的function,那就是iconv()函數,至於怎麼改請往下看
環境需求PHP版本 >= 4.0.5 而且有把iconv模組編譯進去
適用版本:2.0.13(因為我是用2.0.13啦,其他版本應該也行)
適用語系:正體中文
修改方式:
代碼: 選擇全部
#
#-----[OPEN]----------
#
includes/emailer.php
#
#-----[ FIND 尋找]---------------------------------------------
#
$result = smtpmail($to, $this->subject, $this->msg, $this->extra_headers);
#
#-----[ BEFORE, ADD 之前,加上]---------------------------------------------
#
$this->subject = iconv('UTF-8','Big5',$this->subject);
#
#-----[ FIND 尋找]---------------------------------------------
#
$result = @mail($to, $this->subject, preg_replace("#(?<!
)
#s", "
", $this->msg), $this->extra_headers);
#
#-----[ BEFORE, ADD 之前,加上]---------------------------------------------
#
$this->subject = iconv('UTF-8','Big5',$this->subject);
#
#-----[ SAVE/CLOSE ALL FILES 儲存/關閉所有檔案 ]-------------------
#
# EoM 修正結束
#
代碼: 選擇全部
$this->subject = iconv('UTF-8','Big5',$this->subject);
代碼: 選擇全部
$this->subject = iconv('UTF-8','GB2312',$this->subject);
不過這種方式比較適合採用單一語系的網站,如果是多語系共存的
還是會出問題