Доброго времени суток, господа и дамы. Сразу к делу. С помощью php-скрипта отправляю письмо на почту, но вместо кириллицы - китайские иероглифы. Сама страница и скрипт сохранены в UTF-8. Принудительно указана эта же кодировка. Если скрипт сохранить в win-1251, то все нормально. Подкиньте парочку мыслей. :?: PHP: <?php header('Content-Type: text/plain; charset=UTF-8'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', FALSE); header('Pragma: no-cache'); error_reporting(E_ALL ^ E_WARNING); ob_implicit_flush(); $address = '81.9.64.68'; // адрес smtp-сервера $port = 25; // порт $login = ''; // логин к ящику $pwd = ''; // пароль к ящику $from = [email='pochta@mail.ru]'pochta@mail.ru[/email]'; // адрес отправителя $to = [email='mypochta@mail.ru]'mypochta@mail.ru[/email]'; // адрес получателя $subject = 'Письмо'; // тема сообщения $message = "Организация - $org\r\n ФИО - $fio\r\n Должность - $post\r\n E-mail - $mail\r\n Телефон - $tel"; // текст сообщения // Далее функции всякие // Далее функции всякие // Далее функции всякие header('location: page.php'); //перенаправление exit(); ?>
PHP: <? function mail_utf8($to, $subject = '(Без темы)', $message = '', $header = '') { $header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/html; charset=UTF-8' . "\r\n"; if (!mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header_ . $header)) return false; return true; }
Кто-нибудь может мне объяснить почему заголовок письма (тема сообщения) приходят на сервак в нормальном виде, а текст сообщения в корявом. Из-за чего эта фигня происходит?
ААА!!! Все получилось. Спасибо tommyangelo за умные мысли. Сделал так. Добавил эту строку: PHP: $header = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/html; charset=UTF-8' . "\r\n"; И в текст самого сообщения добавил этот заголовок: PHP: $message = $header . $message; Все оказалось так просто, а я голову ломал несколько дней. P.S. Модераторы, переместите тему в более подходящий для нее раздел.