2014-01-22 81 views
0

我需要一些幫助。我正嘗試使用簡單的php mail()發送電子郵件。我的主題有中文字符。當我發送電子郵件,我得到這個:PHP郵件主題

ä¿®æ」¹å¯†ç  - 员工自助æœåŠ¡ç³»ç»Ÿ

但是,它應該是這樣的:

修改密碼 - 員工自助服務系統

下面的代碼:

// To send HTML mail, the Content-type header must be set 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; 

// Additional headers 
$headers .= 'From: Me<[email protected]>' . "\r\n"; 
$headers .= 'Subject : 修改密碼 - 員工自助服務系統' . "\r\n"; 
mail("[email protected]", '修改密碼 - 員工自助服務系統', "sample message ",$headers); 
+1

你是如何派生的主題?它來自數據庫嗎? – user1844933

+0

也許你應該使用另一個字符集'utf-16',或者你可以提供關於你用來查看郵件的電子郵件客戶端的信息嗎? – Alesfatalis

+0

@Androidsh編碼器,你爲什麼從這個問題中刪除一半的代碼,並留下說「額外的標題」的評論......? – OGHaza

回答

2

首先,確保你的文件被編碼爲UTF8,用你的編輯器打開你的腳本並保存爲UTF8。 第二種方法是使用PHPMailer():

$mail = new PHPMailer(); 
$mail->IsHTML(true); 
$mail->MsgHTML($htmlBody); 
$mail->CharSet="UTF-8"; // here you set the charset