Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Почта в utf-8
 
 автор: Ванек2010   (12.12.2010 в 20:42)   письмо автору
 
 

Не видит русские символы на mail.ru, как переделать в utf-8 формат?

<?php
if(substr(PHP_OS03) == "WIN")
        
$n "\r\n";
        else
        
$n "\n";
         
   
$to "$mail";      
   
$from 'мой_ящик@asd.ru';
   
$subject 'Добро пожаловать на';
   
$subject '=?windows-1251?b?'base64_encode($subject) .'?=';
   
$headers 'Content-type: text/plain; charset=windows-1251\r\n'$n;
   
$headers .= 'From: <'$from .'>'$n;
   
$headers .= 'MIME-Version: 1.0'$n;
   
$headers .= 'Date: 'date('D, d M Y h:i:s O') . $n;
   
$message 'Вы успешно зарегистрировались на ';
   
$mail_result  mail($to$subject$message$headers'-f'$from ); 

  Ответить  
 
 автор: Trianon   (12.12.2010 в 21:04)   письмо автору
 
   для: Ванек2010   (12.12.2010 в 20:42)
 

для начала, убрать \r\n из строки типа содержимого - оно там вылезает четырьмя символами.
Далее, стоит таки добавить подходящий Content-Transfer-Encoding
Что до utf-8 или windows-1251 - это не столь важно.
Важно, чтобы кодировка текста (в данном случае - файла с исходным кодом скрипта) соответствовала заявленной в атрибутах полей заголовка.

  Ответить  
 
 автор: Ванек2010   (13.12.2010 в 20:53)   письмо автору
 
   для: Trianon   (12.12.2010 в 21:04)
 

Не могли бы помочь с готовым решением под utf-8?

  Ответить  
 
 автор: Trianon   (13.12.2010 в 21:02)   письмо автору
 
   для: Ванек2010   (13.12.2010 в 20:53)
 

помочь? так я и помогаю.

с готовым? цена вопроса?

  Ответить  
 
 автор: Ванек2010   (13.12.2010 в 21:42)   письмо автору
 
   для: Trianon   (13.12.2010 в 21:02)
 

Все сделал =)

  Ответить  
 
 автор: Trianon   (13.12.2010 в 21:58)   письмо автору
 
   для: Ванек2010   (13.12.2010 в 21:42)
 

показывайте, что получилось :)

  Ответить  
 
 автор: Ванек2010   (14.12.2010 в 00:09)   письмо автору
 
   для: Trianon   (13.12.2010 в 21:58)
 

Цена показа?:)
<?php
if(substr(PHP_OS03) == "WIN")
        
$n "\r\n";
        else
        
$n "\n";
        
   
$to "asd@mail.ru";      
   
$from "tratata@mail.ru";
   
$subject 'Тема';
   
$subject '=?windows-1251?b?'base64_encode($subject) .'?=';
   
$headers 'Content-type: text/plain; charset=utf-8'$n;
   
$headers .= 'From: <'$from .'>'$n;
   
$headers .= 'MIME-Version: 1.0'$n;
   
$headers .= 'Date: 'date('D, d M Y h:i:s O') . $n;
   
$message "Тело сообщения";

   
$code "UTF-8";                            // Необходимая кодировка
   
$curcode "Windows-1251";                  // Текущая кодировка

$message mb_convert_encoding($message$code$curcode);


$mail mail($to$subject$message$headers'-f'$from); 

  Ответить  
 
 автор: Trianon   (14.12.2010 в 00:24)   письмо автору
 
   для: Ванек2010   (14.12.2010 в 00:09)
 

ну что я могу сказать.
Не ужос ужос, конечно. Кое в чем Вы разобрались.
Просто ужос.

1.тело (не текст, а его двоичное представление) сообщения как было незакодировано, так и осталось.
2. поля заголовка и тело сообщения представлены разными кодовыми страницами (зачем бы так) ?
3-е и самое непонятное.
Если у Вас сайт в кодировке windows-1251 - зачем Вам понадобилось отправлять письмо в utf-8?
Или скорее наоборот, если письмо вы формируете в utf-8 (что, безусловно, стратегически более правильно) то почему весь остальной код держите в 1251?


Вот такая вот цена.

  Ответить  
 
 автор: Ванек2010   (14.12.2010 в 00:30)   письмо автору
 
   для: Trianon   (14.12.2010 в 00:24)
 

Mail ру, тему воспринимает только в windows 1251, а само сообщение в utf8
Поэтому тело utf8 а тема win1251.
Это самый простой и понятный мне вариант, который нашел, главное что работает =)

  Ответить  
 
 автор: Trianon   (14.12.2010 в 00:51)   письмо автору
35.6 Кб
 
   для: Ванек2010   (14.12.2010 в 00:30)
 

>Mail ру, тему воспринимает только в windows 1251, а само сообщение в utf8

Извините, Вы сейчас просто чушь пишете, или пытаетесь mail.ru Group оболгать?

Смотрите аттач.

  Ответить  
 
 автор: neadekvat   (13.12.2010 в 22:07)   письмо автору
 
   для: Trianon   (13.12.2010 в 21:02)
 

> цена вопроса?
А какова ваша часовая ставка? :)

  Ответить  
 
 автор: Trianon   (13.12.2010 в 22:11)   письмо автору
 
   для: neadekvat   (13.12.2010 в 22:07)
 

а что у вас за интерес? :))

  Ответить  
 
 автор: neadekvat   (13.12.2010 в 22:16)   письмо автору
 
   для: Trianon   (13.12.2010 в 22:11)
 

Чистый интерес :)
Чисто теоретически, вряд ли я смогу позволить себе (в данный момент) обратиться к программисту вашего уровня.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования