Проблема с кодировкой при получении письма

Тема в разделе "PHP", создана пользователем sasan, 11 авг 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. sasan

    sasan Писатель

    Регистр.:
    28 июл 2008
    Сообщения:
    4
    Симпатии:
    0
    Привет. У меня вопрос

    вопрос связан собственно с www.sweb.ru , а именнно с отправкой сообщения с формы сайта.

    сообщение приходит на сервер http://webmail.sweb.ru в виде квадратиков и не отображается корректно на сайте, получается чтото в виде такого: ���� ������

    менял кодировку, и всё равно тот же результат

    вот пример скрипта :

    PHP:
    $mailto 'test@site.com';  
    $sitename '[Письмо с Вашего сайта]';      
    $returnpage 'http://www.site.com'
         
    $name $_POST['name']; 
    $email $_POST['email'] ; 
    $enquiry stripslashes($_POST['message']); 
     
    $header.= "Content-type: text/plain; charset=windows-1251\nContent-Transfer-Encoding: 8bit";   
       
    $message "\n$name Отправил(ла) Вам следующее сообщение:\n\n$enquiry\n\nКонтактные данные отправителя:\n\nName: $name\nE-mail адрес отправителя: $email\n\n"

      
    mail($mailto"$sitename Отправитель: $name"$message"From: $email"$header);// 
        
    print "Ваше сообщение отправленно!"
        
    header("Location: " $returnpage);  
    charset менял на utf-8, также не помогает...

    может быть кто знаком с данным почтовым сервером подскажите что поправить :confused:

    другие скрипты не интересуют, хотелось бы помощи именно в данном случае и с этим скриптом. (он работет c др. почтовыми серверами нормально, проблема только с http://webmail.sweb.ru )
     
  2. grey109

    grey109

    Регистр.:
    3 апр 2007
    Сообщения:
    176
    Симпатии:
    19
    Начни с простейшего варианта:

    mail("кому@yandex.ru", "тема", "Тест ТЕСТ 123",
    "From: webmaster@$SERVER_NAME\r\n"
    ."Reply-To: webmaster@$SERVER_NAME\r\n"
    ."X-Mailer: PHP/" . phpversion());

    Что получил на мыло?
     
  3. sasan

    sasan Писатель

    Регистр.:
    28 июл 2008
    Сообщения:
    4
    Симпатии:
    0
    получил вот что :

    этот вариант не поможет, английские буквы и цифры проходят нормально, не проходят именно русские...

    вот есть скрипт, с помощью которого письма приходят читабельные:

    http://narod.ru/disk/1961680000/ajaxContact.zip.html

    а что мне в своём надо дописать понять не могу :nezn:
     
  4. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    Сама переменная $_POST['message'] по всей видимости уже содержит текст в неверной кодировке, то есть страница, с которой эта переменная приходит в неверной кодировке.
    Надо в страницу дописать мета тег
    HTML:
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
     
  5. anarki

    anarki Прохожие

    Точнее заменить, потому что там стоит кодировка iso в index.php.
    Код:
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    
    И кодировку письма надо указывать-таки и заголовки письма желательно кодировать в base64 если там коды символов меньше 32 или больше 127 по аскии(как раз попадают сюда русские буквы)
     
Статус темы:
Закрыта.