Кодировка писем

Николай

PHP - CooL
Кодировка писем

Народ подскажите, я уже задолбался...
На своем форуме, я сделал уведомление по E-mail. Чтобы письма приходили в нормальной кодировке делаю:
$body=convert_cyr_string (stripslashes($body),"w","k");
То есть из кодировки windows-1251 в Koi-8r

Если пиьма получать с помощью Outlook Express, то все нормально, если же получать с помощью The Bat, то кодировка глюкнутая!, и её уже никак не изменить...

Как добится того, чтобы во всех почтовых клиентах письма приходили в нормальной кодировке?
 

Китсуне

Guest
Берёшь тот же Бат и смотришь headers письма ( Ctrl-Shift-K )
Смотришь строку вроде "Content-Type: text/plain; charset=koi8-r"
Скорее всего у тебя в headers не тот charset прописывается...
 

Николай

PHP - CooL
Вот то, что у меня в headers:
$head="MIME-Version: 1.0\r\n";
$head .="From: sid.com.ru <[email protected]>\r\n";
$head .="Content-Type: text/html;\r\n";

Ты предлагаешь изменить строчку Content-Type: text/html; на Content-Type: text/plain; charset=koi8-r?
 

Китсуне

Guest
Ну строку
$head .="Content-Type: text/html;\r\n";
замени на
$head .="Content-Type: text/html; charset=koi8-r\r\n";
:)
 

cadet354

Guest
Доброго времени,
прочитал статью на этом сайте по отправке писем
(http://detail.phpclub.net/article/mail)
там указывается что надо перекодировать из win в кои
....
$subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
....
я так понимал, что при этом само сообщение перекодировать не надо, но не так то было.
заработало только после
$head .="Content-Type: text/html; charset=koi8-r\r\n";
и
$body=convert_cyr_string (stripslashes($body),"w","k");
причем если перекодировать так:
base64_encode(convert_cyr_string($, "w","k")) то получаеться не читаемый текст в любой кодировке.
Проблема в base64_encode?
 

Макс

Старожил PHPClub
если ты делаешь base64_encode для текста, то MIME-заголовок encoding нужно устанавливать в base64

Короче, прежде чем слать письма разберись с MIME
 
Сверху