На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
  
    > В письме, отправленном через PHP mail некоторые буквы в словах заменяются на �
      Подскажите, пожалуйста, в чем тут проблема? Например, такой код:
      ExpandedWrap disabled
        <?
        $text = 'PHP – это широко используемый язык сценариев общего назначения с открытым исходным кодом.
        Говоря проще, PHP это язык программирования, специально разработанный для написания web-приложений (сценариев), исполняющихся на Web-сервере. Аббревиатура PHP означает "Hypertext Preprocessor (Препроцессор Гипертекста)". Синтаксис языка берет начало из C, Java и Perl. PHP достаточно прост для изучения. Преимуществом PHP является предоставление web-разработчикам возможности быстрого создания динамически генерируемых web-страниц. Подробнее о преимуществах PHP можно узнать здесь.
        Важным преимуществом языка PHP перед такими языками, как языков Perl и C заключается в возможности создания HTML документов с внедренными командами PHP. Подробнее об этой возможность смотрите здесь. Значительным отличием PHP от какого-либо кода, выполняющегося на стороне клиента, например, JavaScript, является то, что PHP-скрипты выполняются на стороне сервера. Вы даже можете сконфигурировать свой сервер таким образом, чтобы HTML-файлы обрабатывались процессором PHP, так что клиенты даже не смогут узнать, получают ли они обычный HTML-файл или результат выполнения скрипта. PHP позволяет создавать качественные Web-приложения за очень короткие сроки, получая продукты, легко модифицируемые и поддерживаемые в будущем. PHP прост для освоения, и вместе с тем способен удовлетворить запросы профессиональных программистов. Даже если Вы впервые услышали о PHP, изучить этот язык не составит для Вас большого труда. Мы не сомневаемся, что изучив основы PHP в течение нескольких часов, вы уже сможете создавать простые PHP-скрипты. Язык PHP постоянно совершенствуется, и ему наверняка обеспечено долгое доминирование в области языков web-программирования, по крайней мере, в ближайшее время.';
        $headers= "MIME-Version: 1.0\r\nContent-type: text/html; charset=utf-8";
        mail("my_mail@example.com", "Test", $text, $headers);
        echo( $text);

      Проблема в том, что в полученном письме в некоторых словах буквы заменяются на � (знак вопроса в ромбе). Если менять отправляемый текст, то проблема сохраняется.
      Вот пример полученного текста:
      PHP – это широко используемый язык сценариев общего назначения с открытым исходным кодом. Говоря проще, PHP это язык программирования, специально разработанный для написания web-приложений (сценариев), исполняющихся на Web-сервере. Аббревиатура PHP означает "Hypertext Preprocessor (Препроцессор Гипертекста)". Синтаксис языка берет начало из C, Java и Perl. PHP достаточно прост для изучения. Преимуществом PHP является предоставление web-разработчикам возможности быстрого создания динамически генерируемых web-страниц. Подробнее о преимуществах PHP можно узнать здесь. Важным преимуществом языка PHP перед такими языками, как языков Perl и C заключается в возможности создания HTML документов с внедренными командами PHP. Подробнее об этой возможность смотрите здесь. Значительным отличием PHP от какого-либо кода, выполняющегося на стороне клиента, например, JavaScript, является то, что PHP-скрипты выполняются на стороне сервера. Вы даже можете сконфигурировать свой сервер таким образом, чтобы HTML-файлы обрабатывались процессором PHP, так что клиенты даже не смогут узнать, получают ли они обычный HTML-файл или результат вы� �олнения скрипта. PHP позволяет создавать качественные Web-приложения за очень короткие сроки, получая продукты, легко модифицируемые и поддерживаемые в будущем. PHP прост для освоения, и вместе с тем способен удовлетворить запросы профессиональных программистов. Даже если Вы впервые услышали о PHP, изучить этот язык не составит для Вас большого труда. Мы не сомневаемся, что изучив основы PHP в течение нескольких часов, вы уже сможете создавать простые PHP-скрипты. Язык PHP постоянно совершенствуется, и ему наверняка обеспечено долгое доминиро� �ание в области языков web-программирования, по крайней мере, в ближайшее время.

      Дополнено:
      Эта проблема проявляется на хостинге BlueHost. На другом хостинге Beget такой проблемы нет. Писал в службу поддержки BlueHost — решения не знают (
      Сообщение отредактировано: ViH -
        Помогли на Stackoverflow! Такое решение:
        Цитата
        Единственный нормальный способ обойти это, который я вижу — преобразуйте тело в base64 с доп. заголовком: Content-Transfer-Encoding: base64
        Согласно RFC 2045 стоит ещё самому на чанки(по 76 байт) порубить:
        $body = chunk_split(base64_encode($body));
          Всё так, до сих пор существуют околопочтове ПО, что не воспринимает 8битную кодировку :/
          Не на хостинге так на почтовом сервисе
          1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script Execution time: 0,0628 ]   [ 14 queries used ]   [ Generated: 2.12.20, 19:20 GMT ]