2009-09-30 110 views

回答

4

最簡單的解決方案,如果你不介意編碼甚至不需要它是把一切都在一個base64 RFC 2047編碼字的話:

$subject= "=?utf-8?b?".base64_encode($subject)."?="; 
$body= "blah blah $utf8text blah"; 
$headers= "MIME-Version: 1.0\r\n"; 
$headers.= "From: =?utf-8?b?".base64_encode($fromname)."?= <$fromaddress>\r\n"; 
$headers.= "Content-Type: text/plain;charset=utf-8"; 

mail($toaddress, $subject, $body, $headers); 
+0

謝謝你,但這個問題的答案是相當不完整的。我需要在郵件中使用åäö,「From:」標題和主題。我怎樣才能做到這一點?謝謝你的時間。 – Johan

+0

增加了更多的上下文。 From標題與Subject標題的編碼方法相同。郵件正文編碼由Content-Type控制。我認爲你已經將你的åäö字符編碼爲UTF-8字節字符串'\ xc3 \ xa5 \ xc3 \ xa4 \ xc3 \ xb6'。 – bobince

-2
$headers = array('From' => $from, 
    'To' => "<$to>", 
    'Subject' => $subject); 

if ($is_html) { 
    $headers['Content-type'] = "text/html; charset=UTF-8"; 
} else { 
    $headers['Content-type'] = "text/plain; charset=UTF-8"; 
} 

這對我的作品