Пришло письмо с непонятной кодировкой как перевести
Перейти к содержимому

Пришло письмо с непонятной кодировкой как перевести

  • автор:

Почему сбивается кодировка в Outlook?

Добрый день.
Боремся с ломающейся кодировкой сообщений на связке Outlook 2010 + Exchange 2010 SP3 RU9, сообщений в HTML.
Кодировка сбивается при ответе или пересылке писем, настройки — «автовыбор кодировки исходящих сообщений», «UTF-8 для исходящих».
Сейчас вопрос вот в чем: мне приходит тестовое письмо извне (KOI8-R по всем заголовкам), я формирую ответ (в копию ставлю самого себя для анализа заголовков). Смотрю заголовки отправленного письма — везде, как и положено, KOI8-R; смотрю заголовки пришедшего письма — заголовки так же KOI8-R, письмо читается, но Outlook уверен, что кодировка «Кириллица Windows»:
e06e7ed40a4c41b49c2025b5515920ce.png
Соответственно, если переслать или ответить на это сообщение и оно уйдет за пределы организации — кодировка собьется. Почему кодировка письма во входящих ставится иная, не смотря на наличие заголовка?

Слетает кодировка исходящих сообщений в Outlook

Проблема: у пользователя в редких ситуациях после пересылки сообщения меняется кодировка письма в папке “Отправленные”. Вот как-то так.

Путем проб и ошибок выяснилось, что такая проблема возникает, когда при пересылке (а возможно и при ответе) пользователь в тему письма добавляет знаки «» или –. Возможно есть и другие ситуации, при которых письмо меняет свой первозданный вид, я уж не стал в подробностях выяснять. Самое главное, что это письмо неправильно выглядит только в Outlook, в OWA оно отображается нормально. Получается, что это неведомый глюк почтовой программы, которая по какой-то причине считает что письмо в кодировке “Кириллица (Windows)”, хотя оно в кодировке K0I8-R.
Чтобы решить данную проблему, я выставил настройки Outlook так, как представлено на слайде ниже. После этого письма перестали менять волшебным образом свой вид.

Пришло письмо с непонятной кодировкой как перевести

После отправки письма оно ложится в отправленные с неправильной кодировкой " щЮЦЯвЭСУЩб, гЯФХвжСнСбгб з ФСЮЮЯЭ гЯЯТнХЮЩЩ " , соответственно и получатели его получают в таком же виде, что самое интересное ошибка проявляется в случайном порядке и у случайных пользователей.

Сервер Exchange 2010 SP1

Клиентская часть ПК Windows 7 RU , Office 2010 Pro RU все последние обновления.

Политиками настроили использовать по умолчанию кодировку KOI8-R не помогает.

Ответы

  • Предложено в качестве ответа Vinokurov Yuriy Moderator 13 июня 2012 г. 14:24
  • Помечено в качестве ответа Rotar Maksim Moderator 12 октября 2012 г. 10:54
  • Предложено в качестве ответа Kamazik 4 октября 2012 г. 5:39
  • Помечено в качестве ответа Rotar Maksim Moderator 12 октября 2012 г. 10:54

Все ответы

Так же заметили какой то глюк или "фичу" , если письмо пришло в кодировке "Windows", "ISO", " KOI8-R " то ответ тоже предлагает писать в этой же кодировке, хотя политикой назначена кодировка по умолчанию " KOI8-R ".

Заранее благодарен за помощь .

Политиками настроили использовать по умолчанию кодировку KOI8-R не помогает.

Konstantin Fadin

Так же заметили какой то глюк или "фичу" , если письмо пришло в кодировке "Windows", "ISO", " KOI8-R " то ответ тоже предлагает писать в этой же кодировке, хотя политикой назначена кодировка по умолчанию " KOI8-R ".

Заранее благодарен за помощь .

Konstantin Fadin

у 2х клиентов на которых, чаще всего появлялись письма с сломанной кодировкой пробовали решить проблему следующими способами:

— стандартное восстановление MS Office 2010

— удаление 16 последних патчей для MS Office 2010

на этих 2х ПК рецидива не наблюдалось.

Помогите найти решение.

  • Изменено ILYA [ sie ] Sazonov Moderator 14 июня 2011 г. 3:47 Поправил ссылку

Смените формат отправляемого письма на RTFи посмотрите, что будет. Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий
Follow MSTechnetForum on Twitter

Выбор формата для исходящих сообщений и изменение дополнительных настроек. Создать сообщение в формате: Сделал RTF

Формат для интернета — RTF

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

по умолчанию в теме письма кавычки ставятся только такие ", но если из буфера обмена добавить вот такие « или такие » или скажем вот это тире – то полученное письмо будет иметь примерно такой заголовок:

From: =?windows-1251?набор символов и емейл

To: =?windows-1251?B?набор символов и емейл

при этом тело письма будет в кодировке koi8-r, но мы увидим его в отправленных в кодировке 1251 и наш адресат ничего не сможет прочесть (отправлял письма с этими символами на бесплатные почтовые ящики — письма нечитаемы для рядовых пользователей)

хочу отметить, что проблема в exchange 2010, а не в outlook 2003, 2007 или 2010

если использовать данные символы при отправке по протоколу smtp через тот же exchange 2010, то никаких проблем не наблюдается

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

по умолчанию в теме письма кавычки ставятся только такие ", но если из буфера обмена добавить вот такие « или такие » или скажем вот это тире – то полученное письмо будет иметь примерно такой заголовок:

From: =?windows-1251?набор символов и емейл

To: =?windows-1251?B?набор символов и емейл

Subject: =?windows-1251?Q?символы

Thread-Topic: =?windows-1251?символы

при этом тело письма будет в кодировке koi8-r, но мы увидим его в отправленных в кодировке 1251 и наш адресат ничего не сможет прочесть (отправлял письма с этими символами на бесплатные почтовые ящики — письма нечитаемы для рядовых пользователей)

хочу отметить, что проблема в exchange 2010, а не в outlook 2003, 2007 или 2010

если использовать данные символы при отправке по протоколу smtp через тот же exchange 2010, то никаких проблем не наблюдается

Такая же беда. Возникает если выполняются условия — письмо с вложением и в теме письма присутствуют кавычки «» .

При этом, если вложения в письме нет, но кавычки «» в теме есть, то приходит "читабельное" сообщение (и заголовок и тело в кодировке 1251).

PHP письма приходят в кракозябрах. Заголовок письма php mail() в кракозябрах

Очень частая и неудобная ситуация, когда мы отправляем письмо за счет PHP mail, а оно приходит в кракозябрах. Может портиться как все письмо, так и его часть, например, тело или только заголовок. Все эти проблемы из-за неправильно выбранной кодировки.

Общие решения проблемы с кодировкой.
1а. Если письма отправляются в кодировке UTF-8, то переводим кодировку сайта в UTF-8. Если не помогает, то прописываем в самом начале страницы: <?php header(«Content-Type: text/html; charset=utf-8»);?> без лишних пробелов.

1б. Если письма отправляются в кодировке windows-1251, то переводим кодировку сайта в windows-1251 (ANSI). Также можно прописать в начале сайта <?php header(«Content-Type: text/html; charset=windows-1251»);?>

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

3. Бывает, что приходит в письме только заголовок в кракозябрах , для этого изменяем его кодировку отдельно. Пример:
$to = ‘admin@mail.ru’;
$subject = ‘=?utf-8?B?’.base64_encode(‘Новое сообщение!’).’?=’;
$headers = ‘From: =?UTF-8?B?’ . base64_encode($name) . ‘?= <=?UTF-8?B?’ . base64_encode($name) . «?=>\r\n»;
$headers .= ‘Return-path: <‘ . $email . «>\r\n»;
$headers .= ‘Content-type: text/plain; charset=utf-8’ . «\r\n»;
$headers .= ‘Content-Transfer-Encoding: quoted-printable’ . «\r\n\r\n»;
$message = «Новый запрос!\n\nИмя: $name\n\nEmail: $email\n\nТелефон: $tel\n\n»;
$mail = mail($to, $subject, $message, $headers);

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *