Проблемы с кодировкой в PHP!

(Ответов: 4, Просмотров: 575)
  1. Опытный Аватар для Neumann1970
    • Регистрация: 29.01.2016
    • Сообщений: 299
    • Репутация: 4
    Всем привет!
    Такой вопрос, настроил форму отправки через php скрипт с использованием функции mail, но после валидации сообщение которое генерится в блоке контроля, а конкретно переменная "name" - имя отправителя генерится криво с каракулями:
    Строка в php:
    PHP код:
    $ok ="<p style='font-family:Verdana; font-size:12px; border:2px solid #0c7f00; padding:10px; margin:20px; background-color:#ffffff;'><strong>Спасибо, $name! Ваше сообщение отправлено!</strong></p>"
    Результат:
    Спасибо,Тест тест! Ваше сообщение отправлено!
    Как вылечить не подскажите если кто сталкивался с подобным вопросом ?

    ----------------------------------------------------------

    И второе -на хостинге beget - вебпочта - roundcube - знаки вопросов в сообщении, то что присылается пользователем:

    Что уходит от пользователя:
    PHP код:
    $mes "Человек по имени $name отправил сообщение из формы обратной связи: $comtext"
    Что приходит в письме:
    ������� �� ����� Тест тест �������� ��������� �� ����� �������� �����: тест тест
    Как профиксить)))???
    • -1
  2. Студент
    • Регистрация: 24.01.2013
    • Сообщений: 94
    • Репутация: 14
    • Webmoney BL: ?
    Решение Вашей пробелмы: сохранить PHP-файл в кодировке UTF-8 без BOM.
    • 0
  3. Набираю обороты Аватар для Леонид Каруна
    • Регистрация: 27.08.2013
    • Сообщений: 494
    • Репутация: 82
    • Webmoney BL: ?
    Пишите :
    PHP код:
    $headers .= "Content-type: text/html; charset=\"utf-8\"\n"
    Потом при отправке, указываете заголовки ваши:

    PHP код:
    mail ("$toMail""Landing Creature","$body<br/>Имя:  $name\n","$headers"); 
    Если все равно зябрики, пробуйте другую кодировку поставить.
    Предоставляю услуги по созданию сайтов.
    Не дорого и качественно.
    • 0
  4. Опытный Аватар для Neumann1970
    • Регистрация: 29.01.2016
    • Сообщений: 299
    • Репутация: 4
    Не помогло, после подстановки ваших строк знаки вопроса вообще перестали отображаться.

    Где здесь ошибка может быть :
    PHP код:
    $mes "Человек по имени $name отправил сообщение из формы обратной связи: $comtext";

    $from $email;
    $to $emailadmin;
    $sub '=?windows-1251?B?'.base64_encode('Новое сообщение').'?=';
    $headers 'From: '.$from.'
    '
    ;
    $headers .= 'MIME-Version: 1.0
    '
    ;
    $headers .= 'Content-type: text/plain; charset=utf-8';

     

    mail($to$sub$mes$headers);
    //****


    $ok ="<p style='font-family:Verdana; font-size:12px; border:2px solid #0c7f00; padding:10px; margin:20px; background-color:#ffffff;'><strong>Спасибо,$name! Ваше сообщение отправлено!</strong></p>";

         
    // преобразуем Enter в перенос строки
    $comtext=str_replace("\n","<br>\n",$comtext); 
    • 0
  5. Опытный Аватар для Neumann1970
    • Регистрация: 29.01.2016
    • Сообщений: 299
    • Репутация: 4
    Вообщем с кодировкой разобрался:
    1. исправил везде windows-1251 на utf-8
    2. PHP файл сохранил в notepad++ в кодировке utf-8 без BOM

    Всем спасибо!
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Проблемы с кодировкой ajax & MySQL
Web программирование 7 02.12.2014 21:03
Глюк с кодировкой и картинками
WordPress 1 30.09.2014 13:54
Проблема с кодировкой
Web программирование 1 08.03.2014 20:08
Проблемы с кодировкой "Б����"
WordPress 10 18.10.2013 12:18
Проблемы с кодировкой при подключении модулей
Joomla 1 04.01.2013 00:51

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры