Испанские символы (á é í ó ú ñ) не отображаются правильно apple mail php mail - PullRequest
0 голосов
/ 28 ноября 2018

Привет всем, мне нужна помощь. В настоящее время я использую функцию PHP mail ().Испанские символы будут в моей почте (é í ó ú ñ).поэтому обычно, когда я отправляю почту, она не отображается правильно.поэтому я добавляю эту строку в HTML-файл

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

и эту строку в php-файл

header('Content-Type: text/html; charset=utf-8');

и функция почты toal равна

        $message = "<strong>Nom: </strong>".$_POST["info_Nom"]."<br />";
        $message .= "<strong>Prenom: </strong>".$_POST["prenom"]."<br />";
        $message .= "<strong>Téléphone : </strong>".$_POST["Phone"]."<br />";

        $subject = 'Nouveau message ' . $_POST["info_Nom"];
        $headers = "From: ".$_POST["mail"]."\n";
        $headers .= "MIME-Version: 1.0" . "\r\n";
        $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

        $send = mail($to,$subject,$message,$headers);

Тогда она работалахорошо в моем приложении Android Gmail и Windows Mail.Но в яблочной почте не отображается корректно ссылка на почтовое приложение .Его отображение выглядит так:

Nom: test
Prenom: test
Téléphone : 08019238012

Нужна помощь.Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Если ваше приложение использует UTF-8 и вы хотите генерировать электронную почту, используя ISO-8859-1, вам нужно преобразовать текст из исходной в целевую кодировку.В противном случае это все равно, что переименовать picture.jpg в movie.mp4 и ожидать получения видео.Например:

$source = 'Ñ€';
$target = mb_convert_encoding($source, 'iso-8859-1', 'utf-8');
var_dump(bin2hex($source), bin2hex($target));
string(10) "c391e282ac"
string(4) "d13f"

Обратите внимание, что 0x3F в ISO-8859-1 равно ?.Это замещающий символ, который вы получаете, когда у вас есть символ, который не принадлежит целевой кодировке, как в случае с символом €.

Теперь не делайте этого.Мы почти в 2019 году. Используйте UTF-8 везде и забудьте о древних кодировках, таких как ISO-8859-1 или CP850.

0 голосов
/ 06 декабря 2018

Как я уже говорил в комментариях;вам нужно использовать одинаковую кодировку символов для всего, будучи UTF-8.

Т.е.: Content-type:text/html;charset=UTF-8 включая сохранение файла (ов).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...