Forum Webscript.Ru

Программирование => PHP => Тема начата: evgkuz от 16 Сентября 2002, 12:05:13

Название: Проблемы с кодировкой в $headers
Отправлено: evgkuz от 16 Сентября 2002, 12:05:13
Ниже пхп-код отсылки сообщения.
Проблема в том, что сообщению я задаю кодировку:
$headers .= "Content-Type: text/plain; charset=windows-1251\\r\\n";
и всё нормально, а вот с :
$recipient, $subject, $headers .= "From: Admin \\r\\n";
проблемы !!!

Как задать кодировку для этих переменных.



$recipient .= "Евгений ";
$subject = "Вам пришло сообщение";
$message = "
Добрый день\\n
\\n
Вам пришло сообщение.\\n
Вы можете посмотреть его, нажав на ссылку:\\n
\\n
\\n
С уважением,\\n
администрация сайта\\n
";
$headers  = "MIME-Version: 1.0\\r\\n";
$headers .= "Content-Type: text/plain; charset=windows-1251\\r\\n";
$headers .= "From: Admin \\r\\n";
$headers .= "Return-Path: \\r\\n";

@mail($recipient, $subject, $message, $headers);
Название: Проблемы с кодировкой в $headers
Отправлено: Макс от 16 Сентября 2002, 12:51:15
насчет subject-а 100 раз уже писалось. Нельзя в нем использовать русские символы. Если нужно то по стандарту должно быть:
=?<кодировка>?<тип кодирования>?<сообщение>?=
кодировка - koi8-r к  примеру
тип кодирования :
 - B - base64
 - Q - quotedPrintable
сообщение - текст в указанной кодировке преобразованый по base64 или quotedPrintable

для остальных полей - From и подобных полей все точно также
Название: Проблемы с кодировкой в $headers
Отправлено: evgkuz от 16 Сентября 2002, 14:06:31
Цитировать
=?<кодировка>?<тип кодирования>?<сообщение>?=


Так не работает.
$recipient = "=???<Евгений <$email>>?=";
Название: Проблемы с кодировкой в $headers
Отправлено: я... от 16 Сентября 2002, 15:49:43
а "<" и ">" нах??..
Название: Проблемы с кодировкой в $headers
Отправлено: Макс от 16 Сентября 2002, 18:30:06
Цитировать
recipient = "=???<Евгений <$email>>?=";
упс, это я не объяснил, надо без <>
и всместо русских букв надо их представление в base64 или quoted_printable
(ты лучше посмотри как выглядят эти заголовки, в письмах, созданных outlook-ом или другим почтовым клиентом)