Перейти к содержанию
Форум поддержки пользователей VamShop

Почта не дружит с юникодом


Рекомендуемые сообщения

Письма, отправляемые из магазина, приходят в битой кодировке, типа такой:

ыва цуа цуцуец еце цец е

Где что поправить, чтобы они нормально читались?

Спасибо.

Кстати, ещё в OsCommerce было такое, что заголовок в кои, а текст в виндовой. Тогда забили на это.

  • Like 1
Ссылка на сообщение
Поделиться на другие сайты

Яндекс, веб-интерфейс.

Я нашел в includes/external/phpmailer/class.phpmailer.php строку  var $CharSet и исправил значеие с iso-8859-1 на utf-8, но результата не было.

Почта ходит через mail.

Может там как-то хитро надо вписать?

Ссылка на сообщение
Поделиться на другие сайты

А не пробовали другую программу какую-нибудь?!

Просто кодировка utf8 и она меняться не будет.

Ссылка на сообщение
Поделиться на другие сайты

Попробовал, принял через outlook express.

После ручной установки кодировки на UTF-8 прочитал текст, но поле "кому" и тема нечитабельны.

Это о чём говорит - клиент неправильно распознаёт кодировку по шапке письма, так?

Кстати вот:

-----

Received: from skat-sl by web25.nic.ru with local (Exim 4.66 (FreeBSD))

(envelope-from <postmaster@skat-sl.nichost.ru>)

id 1MKB8B-000DKR-Oi

for rotmistr@bark-mos.ru; Fri, 26 Jun 2009 17:06:15 +0400

To: =?windows-1251?B?0JTQvNC40YLRgNC40Lkg0JrQsNGI0LjRh9C60LjQvQ==?= <rotmistr@bark-mos.ru>

Subject: =?windows-1251?B?0YLQtdGB0YI=?=

Date: Fri, 26 Jun 2009 17:06:15 +0400

------

Кто генерит метку виндовс-1251? Какой гонд скрипт?

В какой консерватории и что поправить?

АПДЕЙТ: сохранил письмо в формате eml, вручную исправил всё на UTF-8 - открылось прекрасно.

Мораль - править метки кодировки...

Ссылка на сообщение
Поделиться на другие сайты

В /inc/vam_php_mail.inc.php есть вот такая строка:


$mail->CharSet = $_SESSION['language_charset'];

[/code]

Это ж как раз кодировка письма ставится.

Зарегистрируйте ошибку на vamshop.ru/bugs

Попробую разобраться.

Ссылка на сообщение
Поделиться на другие сайты

Полез на хостинг, в панель управления, поставил ручные настройки, в конфигурационном файле прописал кодировку UTF-8 и получил прекрасночитабельное письмо, с адресатом, сабжем и текстом на родной москальской мове.

УРА!

Решение можно ложить в фак, как я думаю.

Ссылка на сообщение
Поделиться на другие сайты

Хорошо, что разобрались.

В faq наверное вряд ли, всё-таки специфичный вопрос, а вот если будут такие же вопросы, будут давать ссылку на эту тему.

Спасибо, что написали как разобрались.

Ссылка на сообщение
Поделиться на другие сайты

Hi, I had the same problem, but that's how i made it : download notepad++(npp) and use encoding : UTF-8 without BOM (ANSI as UTF 8) And you can write all types all languages. Works well.

sorry that in english, but I can read russian (slowly of course), not write :)

Ссылка на сообщение
Поделиться на другие сайты

Тут всё-таки дело было в настройках сервера, а точнее в настройках php.

Нужно было кодировку php выставить в utf8.

Ссылка на сообщение
Поделиться на другие сайты

Опять всё по-старому. Текст в юникоде, метки - виндовс 1251.

Проверил конфигурационные файлы на сервере - всё ок, везде UTF.

Кусок конфига вот такой:

-----

</IfModule>

<IfModule mod_charset.c>

CharsetPriority utf-8 windows-1251 koi8-r

CharsetDefault utf-8

CharsetSourceEnc utf-8

</IfModule>

-----

Может убрать из приоритета винду с коями вообще?

И ещё:

-----

<IfModule mod_autoindex.c>

IndexIgnore .htaccess

</IfModule>

-----

Это означает игнорирование файла .htaccess? Прибить?

Ссылка на сообщение
Поделиться на другие сайты

Тут я даже и не подскажу, наверное у хостера какие-то свои настройки, они ничего не говорят.

Хостеру ведь виднее как их сервер настроен.

Ссылка на сообщение
Поделиться на другие сайты

Кстати, похоже сервак не при чём.

Попробовал отправить письмо с форума (прикрутил тоже SMF) - пришло вполне читабельным.

  Цитата

В /inc/vam_php_mail.inc.php есть вот такая строка:


$mail->CharSet = $_SESSION['language_charset'];

[/code]

Это ж как раз кодировка письма ставится.

Значение переменной он откуда берёт?

Ещё апдейт: прикрутил форму обратной связи на class.phpmailer.php  (http://www.skat-sl.ru/shop_content.php?coID=99), отправляет абсолютно корректно (в class.phpmailer.php кодировку сразу выставил на UTF-8).

Где-то в консерваториях править надо. Но хостерам позвоню.

Ссылка на сообщение
Поделиться на другие сайты

Ну попробуйте вот эту строку изменить на:


$mail->CharSet = 'utf-8';
[/code]

и в /includes/external/phpmailer/class.phpmailer.php поменять iso-8859-1 на utf-8

Эти два файлы отвечают за отправку почты.

Ссылка на сообщение
Поделиться на другие сайты

  Цитата

Ну попробуйте вот эту строку изменить на:


$mail->CharSet = 'utf-8';
[/code]

и в /includes/external/phpmailer/class.phpmailer.php поменять iso-8859-1 на utf-8

Эти два файлы отвечают за отправку почты.

В пхпмайлере уже стояло UTF, а вот первый способ с принудительным указанием кодировки сработал ;-)

"Война окончена. Всем спасибо!" (с) анек.

Надеюсь, информация будет полезна другим ;-)

Саш, спасибо за оперативные и результативные ответы ;-)

Ссылка на сообщение
Поделиться на другие сайты
  • 3 years later...

последняя версия скриптов, та же история, но указанные выше действия не помогают.

письма приходят в кривой кодировке. и тема письма - =?utf-8?B?0JLQsNGIINC30LDQutCw0Lcg0L3QvtC80LXRgCAx?=

со стороны хостинга все хорошо, так как уже есть старые магазины и там все ок

в чем проблема?

Ссылка на сообщение
Поделиться на другие сайты

я рядом получаю письма десятками с сайтов того же хостинга, там все ок.

а этот новый магазин вчера скаченный и установленный, балуется кодировкой

Ссылка на сообщение
Поделиться на другие сайты

причина была в сбособе отправки, высставил - sendmail и заработало как надо.

Способ отправки E-Mail

sendmail

smtp

mail

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...