Forum Webscript.Ru

Программирование => PHP => Тема начата: maximus от 01 Августа 2002, 16:57:03

Название: Проблемы с кодировкой в письмах
Отправлено: maximus от 01 Августа 2002, 16:57:03
Не могу решить проблему с кодировкой!!!!
Посылаю письмо из скрипта на php (mail), то если пишу
mail($mailto,$subject,$text,"From: $sendername <$sender>\\nContent-Type: text/plain; charset=win1251");

то bat открывает,а outlook нет,
если всё перевожу в кои то outlook открывает, а bat нет.
Нельзя ли как нибудь составить письмо так, чтобы оно одинаково открывалось в обеих программах
Название: Проблемы с кодировкой в письмах
Отправлено: Tronyx от 01 Августа 2002, 18:05:02
Самый надёжный способ это строку:
Content-Type: text/plain; charset=koi8-r
Прописать дважды, первым заголовком и последним, кой потому что это стандартная кодировка кирилицы для почтовых клиентов, сделаешь так и твои письма будут читаться везде.

З.Ы. А ты $subject и $text переводишь в ту кодировку в которой отправляешь (convert_cyr_string)? Если нет то проблема в этом.
Название: Проблемы с кодировкой в письмах
Отправлено: OBOLTUS от 01 Августа 2002, 18:15:43
convert_cyr_string(string,\'w\',\'k\');  спасет тебя от запоя.
Название: Проблемы с кодировкой в письмах
Отправлено: Макс от 01 Августа 2002, 19:57:56
Цитировать

З.Ы. А ты $subject и $text переводишь в ту кодировку в которой отправляешь (convert_cyr_string)? Если нет то проблема в этом.
subject не просто перекодировать нужно, его нужно переводить в вид типа:
=?koi8-r?B?23ba67ddea789?=
=?<кодировка>?<представление>?<кодированый текст>?=
представление:
B - base64
Q - quoted-printable
Название: Проблемы с кодировкой в письмах
Отправлено: Ardzhan от 01 Августа 2002, 23:20:54
Макс
Это точно необходимо? Делал как-то скрипт мыльный с кодировками, вроде и так работало...
Название: Проблемы с кодировкой в письмах
Отправлено: Макс от 01 Августа 2002, 23:26:07
Цитировать
Это точно необходимо?
Это по стандарту.
 А то что и так работало, так это ИМХО достижения почтовых клиентов.
Название: Проблемы с кодировкой в письмах
Отправлено: Ardzhan от 02 Августа 2002, 13:59:01
Цитировать
Это по стандарту.

Значит доделаем свой скрипт до стандарта...
Цитировать
представление:
B - base64
Q - quoted-printable

А для простого текста прописывать Q?
Название: Проблемы с кодировкой в письмах
Отправлено: Макс от 02 Августа 2002, 16:02:37
Цитировать
А для простого текста прописывать Q?
Что значит простой текст?
Если в сабже простой текст укзазать то только латинские символы (+ еще некоторые) и тогда не нужен весь этот формат который я выше указал, просто пиши сабж текстом. Если же текст в сабже должен иметь к примеру koi8-r - символы, то нужно использовать то что я написал.
Этот идентификатор (B или Q) - он относится только к сабжу и не имеет никакого отношения к тексту письма