ПРоблема с кодировкой писем, отправляемых из PHP [SOS]

Тема в разделе "PHP", создана пользователем bambuk9, 24 окт 2008.

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

    bambuk9 Создатель

    Регистр.:
    4 июл 2008
    Сообщения:
    30
    Симпатии:
    0
    :bc::bc: Я в програмировании практически 0, так что заранее извеняюсь если что нетак. Я поставил на сайт скрипт отправки писем, но проблема в том что приходят не нормальные письма а какаето абра кадабра.Кто знает что это за хрень Помогите плиз:thenks:
     
  2. ewg777

    ewg777

    Регистр.:
    6 авг 2007
    Сообщения:
    763
    Симпатии:
    321
    Эта "хрень" - "прямые" лапки и отсутствие brain.dll (не спрашивай, где находится!). Какой скрипт? Куда отправлял? Я должен с бубном тут прыгать, чтобы узнать это? Понятно только, что проблема с кодировкой сервера.
     
  3. DIAgen

    DIAgen Постоялец

    Регистр.:
    30 окт 2006
    Сообщения:
    134
    Симпатии:
    72
    Проблема не сервера, а скрипта. Проблема может быть в том что стоит кодировака в письма одна а текс в другой кодеровки.

    Для полного отвена надо знать что за скрипт ты используешь.
     
  4. B0m.FLy

    B0m.FLy Постоялец

    Регистр.:
    4 июл 2006
    Сообщения:
    53
    Симпатии:
    19
    скрипт наверняка буржуйскый, и кодировка стоит iso-8859. ищи и правь на windows-1251.
     
  5. Crazy108

    Crazy108 Создатель

    Регистр.:
    6 сен 2008
    Сообщения:
    45
    Симпатии:
    7
    Вполне возможно, что перед тем как в скрипте происходит непосредственно отправка мыла посредством встроенной функции mail нужно текст конвертнуть из UTF8 или в cp1251

    $message = iconv("UTF8", "CP1251", $message);

    ну или наоборот
    80% что поможет, хотя не видя этих абракодабр с процентом можно и не угадать
     
  6. PBT

    PBT Создатель

    Регистр.:
    9 окт 2008
    Сообщения:
    19
    Симпатии:
    7
    Что тут голову ломать!!! Я и так могу сказать проблему...
    Все дело в кодировке! В скрипте, который ты взял (скачал с фриварных серваков с каталогом скриптов) стоит на автомате кодировка win-1251. При отправке такого письма на фриварные е-майл сервера ты будешь видеть нормальный текст (если не стоит в настройках просмотр писем в KOI-8). Если это почтовые сервера с хостинговых компаний, то там на автомате UTF стоит. Вот ты и не видишь нефига. Меняй кодировку в зависимости от того, на какой тип почтовых серваков ты заливаешь письма.

    PHP:
    // Настройки для отправки писем как пример
    $headers=null;
    // КОДИРОВКА -> charset=windows-1251
    $headers.="Content-Type: text/html; charset=windows-1251\r\n";
    $headers.="From: ".$name." <".$email.">\r\n";
    $headers.="X-Mailer: PHP/".phpversion()."\r\n";
    Варианты перекодирования тут прописали + используй поисковики и будет тебе счастье!
     
  7. virtualbrest

    virtualbrest

    Регистр.:
    6 май 2007
    Сообщения:
    210
    Симпатии:
    18
    У меня с темой была проблема, на разных хоcтингах по разному, вот так спасался:

    PHP:
    $subjectText '=?windows-1251?B?'.base64_encode($subjectText).'?='
    //$subjectText = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subjectText, "w","k")).'?=';
     
Статус темы:
Закрыта.