Иногда пользователи жалуются на то, что в полученных сообщениях появляются «кракозябры», некорректно отображаемые символы. На самом деле Outlook показывает содержимое письма в кодировке KOI-8, как будто это кодировка Windows 1251. Для устранения проблемы можно изменить кодировку в сообщении на KOI-8, но к сожалению, не все пользователи знают про эту возможность и заваливают службу HelpDesk звонками. Причиной такого поведения Outlook является ошибка в Microsoft Exchange Server 2010.
Она возникает при совпадении четырех условий:
- Версия Exchange Server 2010 SP1 RU3 или более поздняя.
- К сообщению приложен файл.
- Тема сообщения содержит русские кавычки — ёлочки ( « » ) .
- Тело сообщения на русском языке в кодировке KOI8-R.
С одной стороны вероятность совпадения всех условий довольно низка, с другой стороны, резюме в компании или приглашения на курсы рассылаются именно таким способом. Создается письмо, в тему добавляется в кавычках-ёлочках название позиции или курса обучения и прикладывается резюме или описание курса. Получатель получит «поврежденное» сообщение.
Даже если установить внутри организации кодировку по умолчанию UTF-8 и тогда проблема исчезнет для пользователей огранизации Exchange, но если письмо поступит из Интернета в кодировке KOI-8 одному пользователюи и будет переслано другому пользователю вашей организации, то кодировка этого письма останется KOI-8 и получатель все равно увидит «кракозябры» в письме.
Данная проблема решена в Exchange Server 2010 Service Pack 2 Rollup 1. Более детально о проблеме можно почитать на сайте Микрософт.
[img]http://www.exchangefaq.ru/wp-content/uploads/2012/02/mini.jpg[/img]
Обсуждение темы:
http://social.technet.microsoft.com/Forums/ru-RU/exchange2010ru/thread/428565d8-0367-45fc-8ead-be1fd676c277
http://social.technet.microsoft.com/Forums/ru/msoclientru/thread/307123c1-a75b-4c54-8109-cfc5ae274e86
PS: Опытным путём было установлено, что сам Exchange переделывал заголовки письма, всегда выставляя кодировку win-1251.
Методика проверки:
— Ставим в лабе Exchange 2010 SP2, настраиваем SMTP-коннекторы на отправку;
— Отправляем письмо на внешний SMTP с доступом к серверу через POP3;
— Забираем отправленное письмо любым клиентом, с возможностью посмотреть заголовки письма;
— Смотрим заголовки письма — кодировка win-1251, вне зависимости от реальной кодировки.
Реально проблема скорее всего в целом ряде факторов, а именно:
— при добавление кавычек типа «ёлочка», которые кстати добавить не так просто, Outlook переделывает заголовок в кодировку win-1251, оставляя тело письма в старой кодировке;
— Клиент получает письмо, читает заголовки, читает, что кодировка win-1251, проверяет тему — win-1251, значит письмо нужно отображать в win-1251
Но реально тело в koi-8, UTF-8 и т.д.
Outlook при форварде писем кодировку не переделывает, даже если в нем политикой прописано. Отсюда и проблема, что письмо снаружи форвардится сотрудникам внутри, в него добавляется файл и опа — кракозябры.
Речь была про корень проблемы, а именно: исконно некорректное формирование заголовков на уровне Exchange. Если быть точнее, то он по шаблону «ляпал» всем письмам на кирилице win-1251.
Остальное лишь следствия, проявления бага.
А какую кодировку вообще луче использовать в Exchange Server?
интересует «Best Practices», а не теория (в теории видимо лучше UTF-8) в котором наименьшее количество проблем у пользователей
win-1251? KOI8-r? UTF-8?
заранее спасибо
«Best Practices» это как раз кодировка, которая работает с большинством клиентов, с которыми обмениваюся электронной почты сотрудники вашей компании.
В моей компании установлена UTF-8.
У MS я таких рекомендаций не встречал.
А я уже и rollup 2 поставил, но проблема опять всплыла неожиданно. Директор форвардит письма из gmail, приходят кракозябры в теле. Похоже что ему приходят письма в win-1251, при пересылке от него в заголовках написано KOI8-R, а в outlook в свойствах письма стоит UTF-8. Если кракозябры проверить в декодере Лебедева, то показывает путь win-1251 — utf-8.
Посмотрите, в теме точно нет кавычек ёлочек или знака № ?
Нет, нет кавычек и №. Нагуглил, что у устройств Apple есть глюк с кракозябрами, когда форвардят письмо через gmail-аккаунт, то получатели такого письма видят бяку, у директора как раз ipad. Буду по советам настраивать gmail-аккаунт по imap.
Айрат, киньте ссылки сюда, пожалуйста. Хочу глянуть.
там вроде не спецы по exchange работают, но всё же:
http://ru-mac.livejournal.com/15588882.html
http://iphoneapps.ru/forums/index.php?/topic/5539-%d0%bd%d0%b5-%d0%ba%d0%be%d1%80%d1%80%d0%b5%d0%ba%d1%82%d0%bd%d0%b0%d1%8f-%d0%ba%d0%be%d0%b4%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b0-%d0%bf%d1%80%d0%b8-%d0%be%d1%82%d0%bf%d1%80%d0%b0%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b8-%d0%bf%d0%b8%d1%81%d1%8c%d0%bc/
С Iphone/Ipad не все просто, там есть еще глюки, причем со стороны Apple. Это все к вопросу поддерживаемости и совместимости.
Подскажите пожалуйста, вы говорите про кодировку по умолчанию, вы имеете ввиду кодировку для исходящих писем?
да
Спасибо
У меня Exchange 2010 ru 14.03.0158.001на SBS 2011
Этот апдейт не устанавливается — говорит, что для другой версии.
У клиента настроил Outlook 2007 на отправку писем в кодировке UTF8 — вроде теперь нормально уходит..
Проблема наблюдается и на 2016 сервере…привет из 2018)
Хм, вроде никто не жалуется. То есть Вы можете эту проблему воспроизвести? Тогда версия CU 2016 какая?
Да, уже не один случай зафиксирован, везде эти долбанные ёлки присутствуют. CU10 сейчас, а вообще с 2003 наш Exchange, не чистая система. Воспроизвести не удалось, со всеми условиями, возможно что-то не учел.