Главная
Скачать (Download)
Dreamweaver CS6
Dreamweaver CS5
Dreamweaver CS4
Dreamweaver 8
Dreamweaver MX 2004
Dreamweaver 4
Уроки (Tutorials)
Видеоуроки new!!!

Fireworks
ЧаВо
Документация
Статьи
Программы и скрипты
Бесплатные шаблоны
Каталог сайтов
Форум
Карта сайта
Контакты



Документация - Главная
- Macromedia Dreamweaver
- CSS
- Раскрутка
- PHP
- SQL
- Дизайн [1 2]
- Java
- Разное

главная > статьи >

Отправка писем в правильной кодировке на PHP

У меня часто спрашивают, как отсылать письма с помощью PHP в правильной кодировке: после отправки письма с русскими буквами, на почту людям приходит абракадабра.

А все дело в том, что для почты у нас принято использовать кодировку KOI8-R, а для веба - Win-1251 (ANSI) - так, и выходит - мы шлем с сайтов в win-1251, а почтовые программы открывают его как KOI8-R...

Выходов из ситуации хватает. Начиная, можно на самой веб странице можно использовать кодировку KOI8-R. Но я бы не советовал этого не делать - у некоторых посетителей могут возникнуть с кодировкой на самой странице. Так что оставим этот метод для ламеров, а применим более изящный, на PHP.

Итак, что же можно сделать? Первое что приходит в голову - а не проще ли перекодировать само сообщение? И в правду, нет нечего проще.

Тем более в PHP предусмотрена стандартная процедура - convert_cyr_string(string str, string from, string to); как Вы уже, наверное, догадались, функция перекодирует текст, содержащийся в переменной $str из кодировки $from в кодировку $to. Указание кодировки происходит посредством символов латинского алфавита, вот доступные параметры и соответствующие им кодировки:

k KOI8-R
w Win-1252
i ISO8859-5
a X-CP866
d X-CP866
m X-Mac-Cyrillic

Как видно из таблицы, в нашем случае, перед отправкой сообщения, содержащегося в переменной $msg, его нужно перекодировать из w в k (из Win-1251 в KOI8-R), это выглядит так: $msg = convert_cyr_string ($msg,w,k); вот и все, теперь можно спокойно отсылать наше письмо.

Автор: Владислав Путяк
Источник: www.docs.com.ru

главная > статьи >

Реклама