#email #php #кириллица #utf_8 #кодировка
Всем доброго времени! Когда все было в windows-1251, все работало нормально. Иероглифы в письме появились, после того как перевел все на utf-8. Коды скриптов в utf-8, в html head meta http-equiv="Content-Type" content="text/html; charset=utf-8". Похожие темы гуглил, ничего пока не помогло. Использовать в поле From латиницу не предлагать, т.к. нужна кириллица. Когда письмо приходит на почту, то в общем списке писем, в поле от кого, кириллица отображается корректно. Когда заходишь в само письмо, тот же текст в поле от кого, корректно отображаются только латинские буквы и e-mail отправителя, кириллица выводится иероглифами. Жирным выделено то, что смущает, в общем списке все нормально, значит, я отправляю все правильно, но почему в самом письме все меняется? Также пробовал варианты: 'subject' = '=?koi8-r?B?'.base64_encode(convert_cyr_string("Новое сообщение", "w","k")).'?='; 'subject' = '=?utf-8?B?'.base64_encode(convert_cyr_string("Новое сообщение", "w","k")).'?='; 'subject' = '=?koi8-r?B?'.base64_encode("Новое сообщение").'?='; 'subject' = '=?utf-8?B?'.base64_encode("Новое сообщение").'?='; На From никак не повлияло. Код php:"tomail@site.ru", 'subject' => "Новое сообщение", 'message' => " Текст сообщения
", 'headers' => "MIME-Version: 1.0\r\n"."Content-type: text/html; charset=utf-8\r\n"."From: Эта кириллица выводится иероглифами\r\n"); mail($mail['to'], $mail['subject'], $mail['message'], $mail['headers']);
Ответы
Ответ 1
Спасибо Stuf, последний комментарий натолкнул на ответ. Подстановки в subject никак не помогли, а вот конвертация только header все решила. Решил следующим образом: "tomail@site.ru", 'subject' => "Новое сообщение", 'message' => "Текст сообщения
", 'headers' => "MIME-Version: 1.0\r\n"."Content-type: text/html; charset=utf-8\r\n"."From: Эта кириллица выводится иероглифами\r\n"); mail($mail['to'], $mail['subject'], $mail['message'], iconv ('utf-8', 'windows-1251', $mail['headers']));
Комментариев нет:
Отправить комментарий