Проблемы с кодировкой в Mail и их возможные решения

appВстроенный почтовый клиент Mac OS X с логичным и незамысловатым названием Mail есть за что похвалить — например, за развитую систему фильтрации писем на основе правил, за поддержку дополнительных плагинов, расширяющих возможности почты (вроде шифрования), за тесную интеграцию с клиентом iPhone и т.д. Но поводов для недовольства у пользователей Mail тоже хватает, особенно если они проживают не в англоговорящих странах. Главный повод — кодировка. Пожалуй, нет ни одного русского владельца Мака, который не сталкивался в Mail.app с тем, что принято называть словом «кракозябры» — это символьные шедевры вроде ÈØàÞÚÐï íÛÕÚâàØäØÚÐæØï, аЈаИб�аОаКаАб� б�аЛаЕ или даже Широкая электрРв названиях тем, содержимом писем или именах вложений.

Сегодня мы расскажем вам о сущности этой проблемы и некоторых путях её решения.

Mail.app  от других почтовых клиентов традиционно отличает повышенная чувствительность к тому, из какой программы было отправлено письмо. Дело в том, что разные почтовые клиенты имеют присущие только им особенности разметки и оформления электронных писем, невидимые глазу пользователя, зато воспринимаемые серверами и программами.

Проблема усугубляется ещё и тем, что в настройках Mail невозможно задать кодировку входящих писем по умолчанию — т.е. способ перевода привычных нам букв, цифр и знаков препинания в привычные компьютеру биты и байты. Mail пытается автоматически распознать кодировку входящей почты, и как-то непосредственно повлиять на этот процесс пользователь тоже не может.

Зато возможно повлиять на этот процесс косвенно. Набор кодировок, которые Mail использует для распознания, зависит от набора используемых всей системой кодировок. А Этот набор, в свою очередь, зависит от количества используемых системой языков. Отсюда вытекает первый совет — удалите из системы все неиспользуемые вами языки.

Зайдите в Системные настройки, выберите пульт «Язык и текст», и увидите следующий список:

Список языков Mac OS X
Список языков Mac OS X

Нажмите на кнопку «Редактировать список» и снимите соответствующие галочки. После этого перезагрузите компьютер или завершите сеанс.

Представленный скриншот сделан в системе Mac OS X 10.6.2. В Mac OS X 10.5 данный пульт настроек устроен несколько иначе, однако редактирование списка языков там организовано почти так же.

Следующий шаг — это настройки самого клиента Mail. Как мы уже сказали, в программе не предусмотрено никаких постоянных настроек кодировки. Но это не значит, что их нет вообще. На самом деле, через Терминал всё-таки можно заставить Mail работать с определённой кодировкой.

Но перед тем, как задать кодировку по умолчанию, надо узнать, какая это должна быть кодировка. Это придётся делать экспериментальным путём:

  1. найдите несколько писем с кракозябрами
  2. выберите первое и зайдите в меню Сообщение — Кодировка текста
  3. последовательно перепробуйте все кодировки, начинающиеся со слова «Кириллическая» (KOI8-R, ISO 8859-5, Windows), а также UTF-8
  4. если письмо стало читабельным, посмотрите на остальные письма: если и их можно прочесть, то считайте, что решение найдено
  5. в противном случае продолжайте перебор кодировок
Меню кодировок Mail
Меню кодировок Mail

Если вы нашли подходящую кодировку, то останется её зафиксировать. Скорее всего, это будет либо кодировка KOI8-R, либо UTF-8. Полностью завершите Mail (по комбинации Cmd+Q). Запустите Терминал (через Spotlight или из папки Программы/Служебные программы), и введите команду:

defaults write com.apple.mail NSPreferredMailCharset koi8-r

или

defaults write com.apple.mail NSPreferredMailCharset utf-8

После чего нажмите Enter и закройте Терминал.

Если не хотите возиться с Терминалом, то можете установить пульт настроек Secrets и сменить кодировку через него:

Смена кодировки Mail через пульт Secrets
Смена кодировки Mail через пульт Secrets

Если предложенный выше вариант не сработает, попробуйте прописать через Терминал ещё один параметр:

defaults write com.apple.mail LeopardPreferredMailCharset utf-8

(или defaults write com.apple.mail LeopardPreferredMailCharset koi8-r)

Возможно, это поможет вам избавиться от проблем с кодировкой в темах и тексте писем. С русскими именами вложений ситуация ещё более загадочна. Многолетние наблюдения позволяют говорить о том, что в их порче виноват вовсе не Mail, а отправляющая почту программа. Например, известен глюк с письмами из Thunderbird — практически всегда имена вложений на русском приходят на Мак испорченными. Для решения этой проблемы в самом Thunderbird необходимо изменить значение параметра mail.strictly_mime.parm_folding равным единице.

Таким образом, причины и решения проблем в Mail лежат гораздо глубже, чем кажется сначала. Если же ничего не поможет, и адресованные вам письма по-прежнему будут приходить испорченными, советуем обратить внимание на другие почтовые клиенты.