2013-06-11 3 views
0

У меня возникают проблемы с моей почтовой формой PHP и использованием датских букв Æ, Ø и Å. Они появляются как мусор, когда они поступают по электронной почте.Специальные символы в PHP mail

Я попытался найти и заменить функцию, но я просто не могу заставить ее работать.

Вот мой PHP:

<?php 
if (empty($_POST) === false) { 
$errors = array(); 
$navn = $_POST ['navn']; 
$adresse = $_POST ['adresse']; 
$postby = $_POST ['postby']; 
$telefon = $_POST ['telefon']; 
$email = $_POST ['email']; 
$message = $_POST ['message']; 
if (empty($navn) === true || empty($adresse) === true || empty($postby) === true ||  empty($telefon) === true || empty($email) === true || empty($message) === true) { 
    $errors[] = 'Du skal skrive i alle felter!'; 
} else { 

} 
if (empty($errors) === true) { 

} 
if (empty($errors) === true) { 
    mail('mymail.dk', 'Kontakt fra mydomain.dk', "Navn: " . $_POST["navn"] . "\nAdresse: " . $_POST["adresse"] . "\nPost nr. & By: " . $_POST["postby"] . "\nTelefon: " . $_POST["telefon"] . "\nEmail: " . $_POST["email"] . "\nBesked: " . $_POST["message"], 'From: ' . 'mydomain.dk'); 
    header('Location: tak-for-din-mail.php'); 
    exit(); 
} 
} 
?> 

ответ

0

Это звучит как вопрос кодировки символов. Вы можете найти дополнительную информацию здесь PHP E-Mail Encoding.

+0

Спасибо за ссылку. Однако я стараюсь выяснить, как включить заголовки в свой собственный код, потому что я пробовал десятки PHP-почтовых методов, и это единственное, что работает. –

+0

Вы должны просто добавить параметр заголовков к текущему вызову mail(). http://us1.php.net/manual/en/function.mail.php –

+0

Я пробовал это, но это не сработало. Любые решения? –

0

Вы должны указать кодировку utf8 для дополнительных параметров метода mail(). Прочтите руководство.

+0

Ну, я пробовал это, добавив контент-тип и т. Д. После, в свой метод mail(), но это не сработало. –

+0

затем попробуйте предоставить другую кодировку .. он должен работать –

0

Объявите заголовок в PHP файл что-то вроде этого

header("Content-type: text/html; charset=UTF-8"); 
+0

Спасибо. Если это помещено под заголовком («Местоположение: tak-for-din-mail.php») ;? –

+0

Я не думаю, что это имеет значение. Хотя для всех целей заголовок типа контента обычно имеет право в верхней части файла. – user1660568

Смежные вопросы