2014-03-06 32 views
0

我有以下的PHP聯繫表格代碼,它的工作完美,但它不是與字符集UTF-8,我需要我的語言發送。Php聯繫表格,如何使用charset utf-8發送郵件?

任何人都知道如何使它與urf-8發送?

在此先感謝,傑克

<?php 
$error = ''; // error message 
$name  = ''; // sender's name 
$email = ''; // sender's email address 
$subject = ''; // subject 
$message = ''; // the message itself 
$spamcheck = ''; // Spam check 
$telefon = ''; // telefon 
$kategori = ''; // kategori 

if(isset($_POST['send'])) 
{ 
$name  = $_POST['name']; 
$email = $_POST['email']; 
$subject = $_POST['subject']; 
$message = $_POST['message']; 
$spamcheck = $_POST['spamcheck']; 
$telefon = $_POST['telefon']; 
$kategori = $_POST['kategori']; 

if(trim($name) == '') 
{ $error = '<div class="errormsg">Skriv in ditt namn.</div>'; } 
else if(trim($email) == '') 
{ $error = '<div class="errormsg">Skriv in din e-mail adress.</div>'; } 
else if(!isEmail($email)) 
{ $error = '<div class="errormsg">Du har skrivit in en ogiltig e-mail adress. Försök igen!</div>'; } 
if(trim($subject) == '') 
{ $error = '<div class="errormsg">Skriv in ett ämne.</div>'; } 
else if(trim($message) == '') 
{ $error = '<div class="errormsg">Skriv in ditt meddelande.</div>'; } 
else if(trim($spamcheck) == '') 
{ $error = '<div class="errormsg">Svara på Antispam frågan!</div>'; } 
else if(trim($spamcheck) != '5') 
{ $error = '<div class="errormsg">Antispam: Felaktigt svar! 2 + 3 = ?</div>';} 

if($error == '') 
{ 
if(get_magic_quotes_gpc()) 
{ $message = stripslashes($message); } 

// the email will be sent here 
// make sure to change this to be your e-mail 
$to  = ""; 

$subject = '[Sigster] : ' . $subject; 

// the mail message (add any additional information if you want) 
$msg  = "Från : $name \r\nE-Mail : $email \r\nTelefon : $telefon \r\nKontakta mig genom : $kategori \r\nÄmne : $subject \r\n\n" . "Meddelande : \r\n$message"; 

mail($to, $subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n"); 
?> 
+0

確實,它可以與標題(「Content-Type:text/html; charset = UTF-8」)一起工作。 – Jack

+0

,但它將整個頁面轉換爲utf-8,我不想;/ – Jack

回答

0

嘗試添加Content-Type頭。更改行:

mail($to, $subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n"); 

要:

$headers = array 
(
    'Content-Type: text/html; charset="UTF-8";', 
    'From: ' . $email, 
    'Reply-To: ' . $email, 
    'Return-Path: ' . $email, 
); 

mail($to, $subject, $msg, implode("\n", $headers)); 

你可以找到here一個函數來發送UTF-8的電子郵件。

+0

我應該在哪裏添加它?在腳本的頂部? – Jack

+0

只需用我的代碼修改你的'mail()'行。我編輯我的答案向您展示(不確定縮進,您沒有) – ncrocfer

+0

我收到一條錯誤消息,解析錯誤:語法錯誤,意外';' – Jack

相關問題