Php листи приходять в кракозябрами

Дуже часта і незручна ситуація, коли ми відправляємо лист за рахунок PHP mail, а воно приходить в кракозябрами. Може псуватися як все лист, так і його частина, наприклад, тіло або тільки заголовок. Всі ці проблеми через неправильно обраної кодування.

Загальні рішення проблеми з кодуванням.
1а. Якщо листи відправляються в кодуванні UTF-8, то переводимо кодування сайту в UTF-8. Якщо не допомагає, то прописуємо в самому початку сторінки: без зайвих пробілів.

1б. Якщо листи відправляються в кодуванні windows-1251, то переводимо кодування сайту в windows-1251 (ANSI). Також можна прописати на початку сайту

2. При відправці листів, можна попробавть використовувати перетворювачі кодувань на ті змінні, які передаються в листі: $ text = iconv ( 'utf-8', 'windows-1251', $ text); або $ text = iconv ( 'windows-1251' ',' utf-8 ', $ text);

ps Якщо Кодування сайту UTF-8, а в заголовку листа і від кого приходять кракозябри, то міняємо $ subject = 'Нове повідомлення !; на $ subject = '=? utf-8? B?'. base64_encode ( 'Нове повідомлення!'). '? =';

Не забувайте, що на головній сторінці. внизу завжди актуальний список програм-сервісів.

Читайте також

  • Php листи приходять в кракозябрами
    Чи не працює php mail () на хостингу
  • Php листи приходять в кракозябрами
    Проста зворотний зв'язок на Joomla 2.5 (модуль)
  • Php листи приходять в кракозябрами
    Обмежити довжину рядка в PHP
  • Php листи приходять в кракозябрами
    Відправлення листів через SMTP на PHP 2 способи

Дозволить швидко створити будь-яку форму зворотного зв'язку для вашого сайту з чекбоксами, полями, радіокнопку, файлами і безліччю налаштувань!