|
|
|
| Пользуюсь Adobe Dreamweaver CS3, При получении письма на локальном компе вместо русских букв приходят "РџСЂРёРІРµС".
<?php
mail ("admin1@mail.ru", "Привет", "From: admin <admin2@mail.ru>", "Привет2")
?>
|
| |
|
|
|
|
 12.1 Кб |
|
|
для: Dinya_1
(16.10.2008 в 19:28)
| | Не так давно здесь частенько это тема всплывала, и sim5 выкладывал исчерпывающую на мой взгляд информацию... Отрывок:
Грамотное использование русских символов в заголовках почтового сообщения
Итак, в явном виде русский текст в заголовке присутствовать не должен, поэтому для того, чтобы включить его туда, этот текст предварительно нужно закодировать. Стандарты описывают способ кодирования "запрещенных" символов. Общий формат выглядит так:
=?кодировка?способ кодирования?закодированный текст?=
Кодировка может быть любой из списка "windows-1251", "koi8-r", "utf-8" и т.д. Во всех случаях, как правило, кодировка сообщения будет совпадать с кодировкой в которой работает сайт. То есть в большинстве случаев это будет "windows-1251", реже - "utf-8".
Способ кодирования указывает на то, каким именно образом русские символы будут преобразованы в безопасный набор. Способа определяется два: так называемый "Q-encoding" (обозначается одной буквой "Q") и "Base64" (обозначается одной буквой "B").
К сожалению, штатной функции, которая бы могла бы обычную строку преобразовать в Q-encoded текст, в PHP нет, зато есть функция, которая умеет выполнять аналогичное преобразование в Base64. Итак, PHP код правильного создания заголовка темы почтового сообщения может выглядеть следующим образом:
$subject = "=?windows-1251?b?" . base64_encode($_POST["subject"]) . "?=";
и далее... см. прикрепленный файл | |
|
|
|
|
|
|
|
для: mehelson
(17.10.2008 в 05:09)
| | Спасибо! :) | |
|
|
|