Проблема с кодировкой в теме отправляемых писем

Gluk

Новичок
Проблема с кодировкой в теме отправляемых писем

Скрипт обратной связи отправляет письма на мой email, но в теме письма отображается абракадабра! как с этим бороться?
Видел в некоторых заголовках письма типа:
Subject: =?koi8-r?B?8NLJ18XUISA6KQ==?=
А у меня кодировка windows-1251...
Что посоветуете?
Заранее большое спасибо!
 

Gluk

Новичок
или как перекодировать в другую кодировку? Главное, чтобы отображалось нормально в почтовых клиентах :)
 

tony2001

TeaM PHPClub
повтори еще раз:
что тебе нужно СДЕЛАТЬ, а не что ты видишь.
 

tony2001

TeaM PHPClub
в почтовых клиентах все нормально отображается.
а koi8-ru - это вообще стандарт для писем.
 

Gluk

Новичок
В том то и дело, что мне надо что тема письма в кодировке windows-1251, она отображается типа "эБаВФВАмсчЫВК"
Отправил себе из Outlooka письмо в кодировке win-1251...
В полученном письме в заголовке есть строка:
"Subject: =?windows-1251?B?z/Do4uXyLCDD6/7q6PnlIQ==?="
Тема письма была: "Привет"
Так вот как этот самый "ПРИВЕТ" конвертировать в "B?z/Do4uXyLCDD6/7q6PnlIQ"
 

tony2001

TeaM PHPClub
>Так вот как этот самый "ПРИВЕТ" конвертировать в "B?z/Do4uXyLCDD6/7q6PnlIQ"
нет
"Привет, Глюкище!" изменилось на "z/Do4uXyLCDD6/7q6PnlIQ".
такие вещи раскодируются [m]imap_mime_header_decode[/m]

PHP:
$charset = "windows-1251";
$subject = "привет";

echo "=?".$charset."?B?".base64_encode($subject)."==?=";
вместо base64_encode(); может использоваться imap_8bit();, которая кодирует quoted-printable.
в этом случае буква "B" в строке меняется на "Q".
 

MikeV

Guest
А вот такая проблема, не связанная с кодировкой - отправляется значит сообщение и вылезает страница - все Ок, ваше сообщение отправлено. Все хорошо! Но вот нажмешь на кнопочку обновить раз 5, так еще 5 раз это сообщенице отправится, что нужно сделать, чтобы этого не было?
 

Diablo-Loki

Guest
После того как отправлено сообщение... после собсвтенно mail(), пишешь:
header("location:URL");
exit();

На месте URL пишешь адресс странички, содержуащую: ваше сообщение отправлено...
 

Gluk

Новичок
помоему это не поможет!
надо написать <SCRIPT> location.href="url"; </SCRIPT>
точно не помню!
 

makRo

Guest
Gluk, тут особой разницы нет, но при location:.. это более работоспособно)
 

Gluk

Новичок
Помоему при использовании header("Location: ..."); все переменные тоже пересылаются...
 

Altex

Новичок
Даже спорить не стал, когда увидел твой ник.

>>Помоему при использовании
>>header("Location: ..."); все
>>переменные тоже пересылаются...

Бред. Это не придусмотрено разработчиками. Переменные из формы дальше этого кода не идут. А пример работы такого кода ты видишь каждый раз, когда оставляшь сообщение в этом форуме. Хоть обнажимайся F5.

А JavaScript может быть и отключен, вот тогда трудности возникнут, и закончишь на том, с чего начал.

А ещё неудобство возникнит в твоём примере, когда пользователь нажмёт кнопку "назад". Опять форма отправиться захочет. Даже при включенном JavaScript.
 
Сверху