Данный текст не претендует на всеобъемлющую роль и отражает личный опыт автора. В разделе "Литература" можно найти ссылки на другие материалы по этому вопросу. Автор будет признателен за любые дополнения, исправления или комментарии.
Дата последней редакции: 25 октября 2000 г.
Самая свежая версия данного текста должна быть доступна на http://gn.g.com.ua
Буквы "простой латиницы" и основные символы, входящие в таблицу ASCII |
Важно понимать, что сам по себе 8-битный код не позволяет однозначно определить букву или символ, которым он соответствует -- нужно еще знать, какая именно кодовая таблица использовалась в данном случае для кодировки текста (подобно тому как при чтении даты, в которой год записан только двумя цифрами, необходимо знать, какое именно столетие подразумевается). Так что "проблема 8-битных кодировок" в некотором смысле аналогична "проблеме 2000 года" -- экономия количества разрядов, используемых для записи даты либо текста, приводит к неоднозначности их расшифровки.
В операционной системе Windows 3.1/3.11 для работы с русскоязычными текстами использовалась кодовая страница 1251 (ее называют также "Windows-1251", либо просто "кодировка Windows"). Например, если набрать русский текст в MS Word for Windows и сохранить его как "Text Only", то полученный текстовый файл будет записан именно в этой кодировке. В последующих версиях Windows кириллический текст записывается либо в кодировке Windows, либо в кодировке Unicode (например, внутри документов MS Word версий 6.0 и 7.0 (95) русский текст записывается в кодировке Windows-1251, а внутри документов MS Word версий 97 и 2000 -- в кодировке Unicode). Кодировка Windows-1251 используется "старыми" (унаследованными еще от Windows 3.1/3.11) шрифтами Windows ("новые", т.е. "многоязычные" шрифты Windows 95/98/2000 основаны на кодировке Unicode).
В операционной системе DOS для работы с русскоязычными текстами наиболее распространена кодовая страница 866, известная также под названием "модифицированной альтернативной кодировки" (упрощенно ее называют "Альтернативная" или "кодировка DOS"). При "русских" региональных настройках Windows сохранение текста из MS Word for Windows в виде "MS-DOS Text" запишет текстовый файл именно в этой кодировке. Чтобы правильно считывать такие файлы в MS Word for Windows, нужно включить через меню Tools/ Options/ General/ установку "Confirm conversion at open", а при открытии файла в ответ на запрос программы указывать преобразование из "MS-DOS Text".
В операционных системах семейства UNIX для русскоязычных текстов обычно
используется кодовая
страница КОИ-8 ("Код обмена информацией 8-битный"). Точнее говоря,
именем "КОИ-8" называют целое семейство немного отличающихся друг от друга
кодовых страниц - например, русскую KOI8-R (RFC
1489) и украинскую KOI8-U (RFC
2319). Именно кодировка КОИ-8 (в варианте "koi8-r") принята как стандартная
в русскоязычных телеконференциях USENET (например, в группах новостей иерархии
relcom.*) и чаще всего используется для пересылки соообщений на русском
языке по электронной почте. Очень много полезной информации об этой кодировке
и о том, как настроить на нее различные программы, можно найти на Web-странице
Андрея Чернова (http://www.nagual.pp.ru/~ache/koi8.html).
Под Windows тексты в кодировке КОИ-8 можно читать и распечатывать,
используя шрифты типа КОИ-8 для Windows. Однако для того, чтобы набирать
тексты в этой кодировке, нужно иметь специальную раскладку клавиатуры.
(Впрочем, при использовании современных почтовых программ, умеющих делать
перекодировку из Windows-1251 в KOI8-R и обратно, это вряд ли потребуется).
На компьютерах типа Макинтош используется своя собственная кодировка
кириллицы, известная как
кодовая страница 10007 (или просто "Макинтош") . О руссификации Макинтош-совместимых
компьютеров можно прочесть, например, на www.relcom.ru/Russification/MacKoi8-r,
http://www.friends-partners.org/partners/rusmac/,
http://www.hf.uib.no/smi/files/eudtab.html.
Кодировка кириллицы ISO-8859-5 (в просторечии "ISO") известна также под названием "основная кодировка DOS " (хотя фактически "основной" для DOS давно уже стала "альтернативная" кодировка 866). Преимуществом кодировки ISO-8859-5 является строго алфавитное размещение в ней русских букв, удобное для сортировки записей в базах данных.
"Транслит" (транслитерация) - это не кодовая страница, это просто замена букв кириллицы "фонетически аналогичными" латинскими буквами и их комбинациями -- vot takim primerno obrazom. Транслит используют как крайнее средство в том случае, если на компьютере пользователя (или адресата письма) нет кириллических шрифтов или раскладок клавиатуры.
Ниже показаны таблицы размещения символов в различных кодировках кириллицы
Кодовая страница Windows-1251
Unicode в Windows 95/98/2000 и MS Office 97/2000
Широкого распространения на Интернете кодировка Unicode пока не получила,
однако в операционной системе Windows 95/98/2000 она уже используется как
внутренняя кодировка текста в таких программах, как, например, Internet
Explorer, Outlook Express, MS Office 97/2000. ("Чисто" текстовый файл в
кодировке Unicode можно, например, записать из Microsoft Word 97/2000 (Save
As / Unicode text или Save As / Encoded text)). В MS Office
95 и более старых версиях MS Office внутренняя кодировка кириллицы -- Windows-1251.
С этим различием кодировок связаны проблемы совместимости шрифтов в документах,
созданных с помощью разных версий MS Office. Microsoft Word 97/2000
корректно работает только со шрифтами для Windows типа Unicode - т.е. такими,
в которые могут быть включены наборы символов одновременно для нескольких
кодовых страниц Windows (Western, Cyrillic, Greek, Turkish и т.д.). "Старые"
(не-юникодовские) "англо-русские" шрифты можно преобразовать в формат Unicode
программой TTF Converter (ftp://kgb.quarta.com/WinUtil/ttfconv.zip)
-- после этого их можно использовать в Word 97/2000 (хотя, разумеется,
в них есть лишь два script'а - Western и Cyrillic). Однако даже при использовании
только юникодовских шрифтов возможны проблемы с распечаткой кириллицы из
приложений MS Office 97 на некоторых принтерах. Об этих проблемах и их
решении можно прочесть на Веб-странице Павла Городянского (http://ourworld.compuserve.com/homepages/PaulGor/).
Там же есть информация и о том, как решать проблемы с копированием
и вставкой текста между прикладными программами, использующими и не использующими
Unicode.
Для решения проблем Word 97 с документами, созданными в более
ранних версиях Microsoft Word с использованием
шрифтов, не входящих в стандартный комплект Microsoft Windows 3.х (например,
Baltica, Pragmatica и т. д.) можно использовать специальный конвертор,
который есть на http://www.referats.corbina.ru/referats/00/CYRFONTS.ZIP.
Что касается обратной совместимости, то, например, специальную программу-конвертор,
позволяющую открывать в Word 6.0 и 7.0 файлы, записанные в формате Word
97, можно найти на ftp://ftp.microsoft.com/Softlib/MSLFILES/wrd97cnv.exe;
однако некоторые документы Word97 со сложным форматированием не удается
открыть в Word 6.0 и 7.0 даже с помощью этого конвертора.
Подробнее о шрифтах, кодовых страницах кириллицы и поддержке различных
кодировок в Windows можно прочесть на Веб-странице Константина Казарновского
(http://www.glasnet.ru/~kazarn/fontsmain.htm).
Другим распространенным методом 7-битного представления 8-битных текстов является "base64". При его использовании почтовая программа указывает в служебных полях письма: Content-transfer-encoding: base64.
Современные почтовые программы при получении письма, где текст представлен
в виде base64 или
quoted-printable, автоматически восстановят его исходную 8-битную форму;
тем же получателям, чьи почтовые программы не поддерживают такое преобразование,
придется расшифровывать текст с помощью специальных декодирующих программ.
Надо иметь в виду, что преобразование либо непреобразование отсылаемых
8-битных текстов в 7-битную форму не всегда зависит от желания отправителя.
Иногда SMTP-сервер автоматически "закатывает" отправляемые 8-битные тексты
в 7-битную форму -- видимо, предполагая, что почтовый сервер получателя
не сможет правильно обработать 8-битные сообщения. При этом в заголовке
сообщения появляются строчки типа
X-MIME-Autoconverted: from 8bit to base64 by [server name]...
При одном подходе, документ доступен на Веб-сервере в нескольких различных кодировках, так чтобы посетители Веб-сайта могли выбрать наиболее удобный для себя вариант. (При этом не обязательно держать на сервере отдельную копию документа для каждой кодировки; на самом деле, сервер часто хранит лишь один экземпляр документа в какой-нибудь одной кодировке, зато доступ к этому документу возможен через несколько "портов", которые выполняют различные перекодировки). Так или иначе, на Веб-странице есть меню выбора кодировки; в это меню наверняка будут включены кодировки WIN-1251 и KOI8-R, а иногда и другие -- DOS (866), ISO-8859-5, Macintosh и "транслит".
Другой подход используется, например, Веб-сервером "Russian Apache", который пытается определить "родную" кодировку обращающегося к серверу браузера и затем "отдает" пользователю запрашиваемый документ именно в этой кодировке. При этом на Веб-странице может и не быть меню выбора кодовой страницы. Если пользователь работает в операционной системе Windows, то он, скорее всего, увидит документ в кодировке Win-1251.
Третий подход -- сделать документ доступным в какой-нибудь одной кодировке, в расчете на то, что пользователь должен уметь правильно настроить свой браузер для чтения текстов в этой кодировке. Многие русскоязычные Веб-страницы доступны либо только в KOI8-R, либо только в Win-1251.
|
|
Если Вы хотите создать свою собственную Веб-страницу на русском языке,
Вы должны знать, как работает тот сервер, на котором Вы ее хотите разместить.
Если этот сервер делает перекодировку, то предполагается, что загружать
туда документы нужно в определенной кодировке - иначе они станут нечитабельными.
Если же сервер не делает никакой перекодировки, то Вы сами можете выбирать,
в какой кодировке (или кодировках) будет доступна Ваша Веб-страница.
Имейте также в виду, что обычно легче настроить на чтение КОИ-8 браузеры,
работающие под Windows, чем настроить на Win-1251 браузеры, работающие
под Unix. Некоторые пользователи Unix вообще с предубеждением относятся
к Веб-страницам, доступным только в кодировке Win-1251 и считают,
что вряд ли там может быть что-нибудь заслуживающее внимания.
Для чтения русскоязычных Веб-страниц достаточно "научить" Ваш браузер понимать кодировки KOI-8 и Windows-1251 - другие кодировки кириллицы вряд ли можно найти на Интернете в качестве единственного варианта кодировки Веб-страницы. (Правда, на Интернете можно найти множество русскоязычных текстовых файлов в кодировке DOS - но они обычно предназначены для загрузки, а не для просмотра в режиме online).
Для настройки Netscape Navigator (версия 3) нужно войти в меню Options/
General Preferences/ Fonts и
установить для кодировки "Cyrillic" кириллические шрифты (пропорциональный
и постоянной ширины) типа Windows-1251, а для кодировки "Cyrillic (KOI8-R)"
шрифты (пропорциональный и постоянной ширины) типа КОИ-8. При этом чаще
всего проблемы возникают с установкой шрифта постоянной ширины типа КОИ-8,
поскольку бывает, что ни один из имеющихся шрифтов типа КОИ-8 не распознается
системой как шрифт постоянной ширины и не виден в окошке выбора шрифтов.
В случае таких проблем, комплект "подходящих" шрифтов можно загрузить с
той же Web-страницы Павла Городянского: http://www.relcom.ru/Russification/WinNetscape/ForWWW.zip.
В дальнейшем нужно через меню Options/ Document Encoding выбирать кодировку
Cyrillic для просмотра Web-страниц в кодировке Windows-1251 и кодировку
Cyrillic (KOI-8) для просмотра Web-страниц в кодировке КОИ-8.
Если у Вас все еще установлен Netscape Navigator (версия 2), давно пора заменить его на более "свежую" версию. Если же у Вас нет такой возможности, можно аналогичным образом установить шрифты типа КОИ-8 для кодировки "Latin 2" и шрифты типа Windows-1251 для кодировки "Korean" (в меню этой версии Netscape Navigator'а нет кириллических кодировок) . После этого выбирайте из меню Options/ Document Encoding "Latin 2" для просмотра текстов в кодировке КОИ-8 и "Korean" для просмотра текстов в кодировке Windows-1251.
Если в заголовке HTML-документа явно указывается кодировка при помощи
строки типа
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
, браузер должен автоматически включить режим показа документа в данной
кодировке. В этом случае попытки задать кодировку "вручную" (через меню
браузера) могут не срабатывать. Если при этом указанная в заголовке кодировка
не соответствует той, которая фактически используется в тексте, документ
может стать нечитабельным. Вообще, если браузер не может правильно прочесть
текст, попробуйте просмотреть исходный HTML-код (через меню View/ Page
source и т.п., в зависимости от конкретного браузера). Часто это помогает
понять суть проблемы. В случае неправильно указанной кодировки можно сохранить
документ у себя на диске, а потом отредактировать его, исправив charset
либо перекодировав текст.
Вообще говоря, явное указание кодировки в заголовке HTML-документа
нужно использовать очень внимательно. Помните:
1. Лучше совсем не указать charset, чем указать его неправильно.
2. При явно указанной кодировке документ может стать нечитабельным
в некоторых старых версиях браузеров, которые не распознают название данной
кодировки.
3. Если Вы конвертируете HTML-документ с явным указанием кодовой страницы
в другую кодировку, не забудьте исправить в заголовке и название кодировки.
4. Не указывайте кодировку явно, если документ будет находиться на
сервере, который может его перекодировать.
5. Если Ваша страница сделана в кодировке Win-1251, даже с явным указанием
charset=windows-1251,
не думайте, что теперь она будет читабельна абсолютно для всех. Многие
версии браузеров, работающих под операционной системой UNIX, не
поддерживают эту кодировку.
Кроме того, если Вы хотите, чтобы русский текст на Вашей Веб-странице был читабелен для всех, никогда не используйте явное задание шрифта через таг FONT FACE=.... Это считается дурным тоном, поскольку может создать проблемы длях тех, у кого на компьютере шрифт с таким названием не русифицирован (либо его вообще нет).
KOI8 -- плюсы: По сложившейся традиции, для пересылки писем на
русском языке стандартом де-факто стала кодовая страница KOI8-R, закрепленная
также и в уставах русскоязычных телеконференций USENET. При прохождении
через почтовые системы, "обрезающие" восьмой бит, текст в кодировке КОИ-8
хоть и уродуется, но остается вполне читабельным. Многие почтовые программы
по умолчанию отсылают письма именно в кодировке КОИ-8 (а многие версии
Netscape Mail вообще не могут отослать письмо в другой кодировке с правильно
проставленным в заголовке charset'ом). Многие почтовые системы настроены
именно на письма, приходящие в кодировке КОИ-8, и автоматически производят
перекодировку из КОИ-8 в Windows или DOS; если кодировка письма будет другой,
то в конечном счете оно будет преобразовано в "извращенную" (нестандартную)
кодировку. Кодировка КОИ-8 является единственно понятной для многих пользователей,
работающих в операционной системе UNIX.
KOI8 -- минусы: Письма в кодировке КОИ-8 могут быть нечитабельны
для неопытных пользователей, работающих в операционной системе Windows
с "тупыми" (не имеющими встроенных средств перекодировки) почтовыми программами.
Кроме того, в кодовую таблицу koi8-r не включены буквы кириллицы, специфичные
для украинского и белорусского языков. Для переписки на украинском языке
вместо кодировки koi8-r следует использовать кодировку koi8-u
-- но, к сожалению, далеко не все почтовые программы, поддерживающие кодировку
koi8-r, поддерживают также и koi8-u.
Windows-1251 -- плюсы: Письма будут читабельны для неопытных
пользователей, работающих в операционной системе Windows с "тупыми" (не
имеющими встроенных средств перекодировки) почтовыми программами. Можно
без проблем писать по-украински, по-белорусски и на других языках, использующих
буквы из кодовой таблицы Windows-1251.
Windows-1251 -- минусы: Многие почтовые системы настроены именно
на письма, приходящие в кодировке КОИ-8, и автоматически производят перекодировку
из КОИ-8 в Windows или DOS; письмо, пришедшее в кодировке Windows-1251,
будет преобразовано в "извращенную" (нестандартную) кодировку. Письмо в
кодировке Windows-1251 может быть нечитабельным для многих пользователей,
работающих в операционной системе UNIX (при этом многие пользователи UNIX
считают, что отправка письма в кодировке Windows-1251 явно демонстрирует
низкую квалификацию автора, и ничего заслуживающего их внимания в таком
письме заведомо быть не может). При "обрезании" восьмого бита текст прочесть
нельзя.
Unicode -- плюсы: В тексте письма можно использовать буквы из
нескольких различных алфавитов (что невозможно при использовании 8-битных
кодировок). Возможно, использование Unicode со временем обеспечит радикальное
и окончательное решение проблемы кодировок.
Unicode -- минусы: Пока что лишь немногие почтовые программы
поддерживают использование Unicode (например, Outlook Express, Netscape
Messenger, частично The Bat! и Forte Agent). Адресаты, использующие другие
почтовые программы, могут иметь большие проблемы с чтением такого письма.
Translit -- плюсы: Это универсальный способ общения, для которого
не нужны ни русифицированные раскладки клавиатуры, ни русские экранные
шрифты, и который делает письмо гарантированно читабельным для получателя
в любой стране мира.
Translit -- минусы: Письмо в транслите неудобно набирать и неудобно
читать. Исходный текст коверкается.
В качестве общей рекомендации можно предложить такой вариант:
1. отправляйте письма в кодировке KOI8-R (на украинском языке -- в
KOI8-U), при этом желательно, чтобы почтовая программа правильно указывала
в служебных полях письма используемую кодировку
("charset=koi8-r").
2. Если у адресатов возникают проблемы с чтением писем в кодировке
KOI8-R (KOI8-U), попробуйте кодировку Windows-1251.
3. Если и в этом случае возникают проблемы, попробуйте транслит либо
запишите текст письма в фал и приложите его к отправляемому сообщению.
С одной стороны, как уже говорилось, не все почтовые серверы пропускают
8-битные тексты.
Некоторые из них автоматически преобразуют 8-битный текст в 7-битную
форму (например, в base64), а некоторые просто "обрезают" восьмой бит.
(Между прочим, интересная особенность кодировки КОИ-8 заключается в том,
что текст в этой кодировке удается прочесть и после "обрезания" восьмого
бита, поскольку буквы кириллицы в этой кодовой странице расположены со
сдвигом на 128 от "фонетически сходных" латинских букв). Кроме того, не
совсем "легальным" является использование 8-битного текста в поле Subject:
и в других служебных полях письма, поскольку действующие на Интернете стандарты
предписывают представление текста в служебных полях письма в 7-битной форме.
С другой стороны, в странах бывшего СССР сложилась практика отсылки
писем в 8-битной форме (включая и текст в поле Subject), и подавляющее
большинство серверов без проблем пропускает такие письма. При этом многие
люди пользуются почтовыми программами, которые не могут автоматически преобразовать
в исходную 8-битную форму текст, полученный в виде quoted-printable или
base64. Кроме того, в 8-битной форме объем пересылаемого текста меньше,
чем в виде base64 и особенно quoted-printable. Наконец, тексты, закодированные
в quoted-printable или base64, могут не перекодироваться при прохождении
через перекодировщики из КОИ8 в Windows-1251 или DOS, которыми пользуется
адресат (такие перекодировщики могут стоять, например, на его POP3-сервере)
и в результате приходить к нему в неправильной кодировке. Поэтому в общем
случае можно рекомендовать отправлять письма в 8-битном виде (в том числе
в поле Subject). Если выяснится, что Ваш почтовый сервер или почтовый сервер
получателя "портит" 8-битные тексты, попробуйте включить режим преобразования
текста в quoted-printable или base64. Если Ваш адресат не может расшифровать
такие письма, попробуйте послать текст не в теле письма, а приложить текстовый
файл к письму.
Использование русского текста в поле "From" настоятельно не рекомендуется
- в этом случае многие адресаты просто не смогут прочесть имя отправителя.
(Также не рекомендуется прилагать к сообщению файлы с русскими именами
-- при пересылке эти имена могут оказаться исковерканными).
Фактически, можно либо сразу набирать письма в кодировке КОИ-8, либо сначала набирать их в той кодировке, в какой это удобно делать (например, Windows-1251 или DOS), а затем преобразовывать их в КОИ-8. Тут возможны несколько подходов:
Надо сказать, что при работе с "родным" переключателем клавиатуры Windows95 иногда возникают проблемы. Например, он может не срабатывать в окнах некоторых программ; кроме того, он не позволяет редактировать имеющиеся раскладки клавиатуры. (Редактор раскладок клавиатуры Windows95 можно найти, например, на <http://www.kiarchive.ru/pub/cyrillic/windows/jkbd9542.zip>, но он позволяет редактировать не всякие файлы раскладок). Наконец, если приходится пользоваться более чем тремя раскладками клавиатуры, работать с "родным" переключателем клавиатуры Windows95 становится просто неудобно, поскольку он не позволяет использовать разные клавиши для доступа к разным раскладкам.
Если Вы испытываете неудобства при работе с "родным" переключателем клавиатуры Windows95, имеет смысл установить специальные программы для переключения клавиатуры.
Иногда при использовании ParaWin для переключения клавиатуры в окне
составления нового сообщения Outlook Express задача "подвисает", и приходится
ее снимать через Ctrl-Alt-Del. Возможно, в таких случаях стоит использовать
ParaWin только для русификации системы (если это необходимо), а для переключения
раскладок клавиатуры установить другую программу -- например, RusLat (www.ruslat.wm.ru).
Из других бесплатных переключателей клавиатуры можно назвать RusLat
(www.ruslat.wm.ru).
Есть почтовые программы, которые выполняют "фиксированную" перекодировку
текста (например, из все приходящие сообщения из KOI8-R в 1251, а все исходящие
- из 1251 в KOI8-R), а есть и такие, у которых есть меню перекодировки
с поддержкой нескольких кодовых страниц.
При "фиксированной" перекодировке для того, чтобы правильно перекодировать
получаемые письма, нужно знать, в какой кодировке они приходят. В принципе,
здесь возможны два основных подхода:
Почтовая программа | Перекодировка текста сообщения | Указание кириллической кодировки (charset'а) в заголовке | Проблемы и комментарии |
Eudora Pro v.2.2 | Нет
Необходима внешняя перекодировка или шрифты koi8 |
неправильно: iso-8859-1 (can be hacked to koi8-r) | Очень удобный интерфейс;
Проблемы с: шрифтами типа Unicode, переключателем клавиатуры Win95, сообщениями, переправленными из Netscape, разбитыми на куски приложенными файлами; не очень удобна для работы с кириллицей |
Eudora Pro v.3.*, 4.* | Нет
Можно использовать с koi8-plugin'ом для перекодировки win<->koi |
неправильно: iso-8859-1
(с plugin'ом: koi8-r или windows-1251) |
То же, что и для Eudora v.2.*;
добавлена поддержка нескольких account'ов, а также plugin'ов, в том числе koi8-plugin; у v.4.* есть ошибки в обработке кириллицы, которые нужно исправлять |
Netscape Mail (Mozilla) v.3.* | Входящие: нет
Исходящие: win to koi, koi to koi Ответы: koi to koi нужны шрифты koi8; не использовать внешнюю перекодировку |
koi8-r (может отличаться от фактической кодировки) | Одноуровневые папки для хранения почты; переправляемые сообщения могут создавать проблемы для адресатов, использующих Eudora 2.2; не очень удобен для работы с кириллицей |
Netscape Messenger (Mozilla) v.4.* | Входящие: из любой в win
Исходящие: win to koi (в зависимости от конкретной версии) шрифты koi8 или внешняя перекодировка не нужны |
koi8-r (может отличаться от фактической кодировки) | Многоуровневые папки для хранения почты; Возможность создания нескольких профилей для разных пользователей; контраинтуитивный выбор кодировки для исходящих сообщений в v.4.0*; 8-битный Subject включается через правку prefs.js |
MS Internet Mail | Входящие: koi или win to win
Outgoing: win to koi или win шрифты koi8 или внешняя перекодировка не нужны |
правильно: koi8-r или
Windows-1251 |
Одноуровневые папки для хранения почты; нет выбора кодировки в режиме ответа на письмо; письма с неправильно указанной кодировкой могут быть нечитабельны |
Outlook Express v.4.*, 5.* | Входящие: из любой кодировки в Unicode
Исходящие: из Unicode в любую кодировку шрифты koi8 или внешняя перекодировка не нужны |
правильно: koi8-r,
Windows-1251 и др. |
Многоуровневые папки для хранения почты; возможность конфигурации нескольких account'ов; возможна поддержка koi8-u; одна из наиболее удобных для работы с кириллицей почтовых программ |
The Bat! | Входящие: из любой кодировки в win
Исходящие: из win в любую кодировку шрифты koi8 или внешняя перекодировка не нужны |
правильно: koi8-r, koi8-u,
Windows-1251 и др. |
Маленькая но весьма мощная почтовая программа; многоуровневые папки для хранения почты; возможность конфигурации нескольких account'ов; поддержка koi8-u; одна из наиболее удобных для работы с кириллицей почтовых программ |
Pegasus Mail | Нет
после настройки - фиксированная: Входящие: koi to win; Исходящие: win to koi после настройки шрифты koi8 или внешняя перекодировка не нужны |
После настройки: koi8-r | Довольно мощный, но интерфейс не очень удобен; требует настройки; многоуровневые
папки для хранения почты; проблемы с 8-битными заголовками;
Не очень удобен для работы с кириллицей |
Forte Agent
(not Free!) |
После настройки: меню перекодировок
В зависимости от настройки, может использоваться внутренняя либо внешняя перекодировка |
После настройки: koi8-r, koi8-u и др. | Один из лучших newsreader'ов, который может использоваться и как почтовая
программа; одноуровневые папки для хранения почты;
о настройке см. www.glasnet.ru/~kazarn/soft.htm |
Проблемы.
Пожалуй, самое привлекательное в Eudora - ее удобный пользовательский
интерфейс; но эта почтовая программа имеет и ряд недостатков:
Еще один недостаток Eudora - это невозможность читать или набирать письма во время отсыдки или приема почты.
Важное преимущество Eudora Pro v.3.* над предыдущими версиями
Eudora - это поддержка нескольких "personalities" с различными установками
(имя пользователя, pop3 и smtp сервер и другие установки), а также поддержка
дополнительных модулей (plugin'ов). Обработка кириллицы в ней идет практически
так же, как и в v.2.2, включая указание в заголовке сообщений неверной
кодировки iso-8859-1. Однако в этом случае лучше не редактировать файл
Eudora.exe, а использовать koi8-plugin, разработанный Евгением Суровегиным
(см. www.glasnet.ru/~ebs/koi8plugin.html).
Этот plugin добавляет в меню "Edit/ Message plug-ins" команды для перекодировки
текста из koi8-r в windows-1251 и наоборот; кроме того, он указывает кодировку
исходящих сообщений как koi8-r или windows-1251 вместо iso-8859-1.
koi8-plugin может использоваться и с Eudora Pro v.4.*; об ошибках
в обработке кириллицы, которые есть в v.4.* и их исправлении можно прочесть
на www.glasnet.ru/~ebs/koi8plugin.html.
Из-за своей неспособности к "внутренней" перекодировке Eudora часто
используется с pop3/smtp прокси-серверами, которые перекодируют входящие
и исходящие сообщения на кириллице из koi8-r в Windows-1251 и наоборот.
Если использовать Eudora v.3.* или 4.* с koi8-plugin'ом, может быть удобно
получать почту неперекодированной, а отсылать сообщения через перекодирующий
smtp прокси-сервер. При этом входящие письма можно в случае необходимости
перекодировать koi8-plugin'ом, а исходящие будут автоматически перекодироваться
прокси-сервером в koi8-r. (Однако в этом случае нужно внимательно посмотреть
настройки koi8-plugin'а - если не выключить опцию "Analyze charset when
sending email", то письма могут уходить с указанием в заголовке кодировки
Windows-1251, но их текст после перекодировки на smtp-сервере будет в koi8-r).
Режим отправки писем в 8-битной форме включается в Netscape Mail через меню Options/ Mail and News Preferences/ Composition/ Allow 8-bit.
Netscape Mail v.3 не следует использовать с pop3/smtp прокси-серверами, перекодирующими входящие и исходящие письма из koi8-r в Windows-1251 и обратно.
Когда Netscape Mail перенаправляет сообщение другому адресату (Forward), по умолчанию исходный текст пересылается в виде приложенного файла с длинным именем, определяемым заголовком исходного сообщения. Для некоторых получателей такие письма создают проблемы; они будут Вам весьма признательны, если Вы не просто нажмете на кнопку "Forward", а перенаправите письмо в процитированном виде, используя меню Message/ Forward Quoted.
Если Вы пользуетесь почтовой программой Microsoft Internet Mail, то
Вам не нужно ни "коизировать" Windows, ни работать через специальные перекодирующие
прокси-серверы.
Netscape Messenger v.4 не нужно использовать с перекодирующими pop3 и smtp серверами.
Чтобы заставить Netscape Messenger v.4.0* отсылать сообщения в 8-битном
формате, без преобразования в quoted-printable, нужно в меню Edit/ Preferences/
Mail & Newsgroups/ Messages/ установить переключатель "Send
messages that use 8-bit characters" в положение "As is".
Кроме того, в меню Edit/ Preferences/ Mail & Newsgroups/ Formatting/
рекомендуется отключить HTML-форматирование исходящих писем ("Use the plain
text editor to compose messages").
Некоторые проблемы и их рещение.
Проблема: Netscape Messenger v.4.5*- 4.7* отсылает Subject закодированным
в 7-битную форму. Как заставить его отсылать Subject в обычном 8-битном
формате?
Решение: Эту установку нельзя исправить через конфигурационные
меню. Придется открыть для редактирования конфигурационный файл prefs.js
file (он должен быть в каталоге ...\Netscape\Users\<пользователь>)
и дописать туда следующую строку:
user_pref("mail.strictly_mime_headers", false);
Имеет смысл также дописать строку
user_pref("mailnews.start_page.enabled", false);
которая отменяет автоматическое обращение Netscape Messenger'а к Netscape
NetCenter для показа приветственного сообщения.
Более подробно настройка описана Павлом Городянским на
http://www.relcom.ru/Russification/WinNetscape/.
При отправке сообщений из Outlook Express нужно помнить, что внутренней кодировкой этой программы является Unicode, и текст сообщения в принципе может содержать любые символы, которые есть в Unicode. Кодировка, в которой сообщение будет отправлено, выбирается через меню Format/Encoding в окне составления сообщения. При преобразовании отправляемого текста из Unicode во "внешнюю" кодировку возможна ситуация, когда некоторых символов, использованных в тексте письма, во "внешней" кодировке просто нет. Такие символы будут заменены вопросительными знаками, и передаваемая ими информация будет безвозвратно утеряна. Часто такая ситуация возникает, когда получатель письма, написанного латинскими буквами, отвечает на него (либо переправляет кому-то со своими комментариями) на кириллице. По умолчанию кодировка ответа будет той же, что и кодировка исходного письма; если исходное письмо пришло, например, в кодировке iso-8859-1 или us-ascii, то ответ будет отправлен в той же кодировке (если ее не изменить "вручную"), и все буквы кириллицы будут заменены вопросительными знаками. Чтобы этого не произошло, при отправке сообщений на кириллице (особенно в ответ на чужие сообщения) нужно проверять кодировку через меню Format/Encoding. При составлении нового сообщения по умолчанию обычно выбирается кодировка KOI8-R; если отправляется текст на украинском языке, то нужно не забыть изменить эту кодировку на другую, в которой есть украинские буквы (KOI8-U или Windows-1251), иначе они будут заменены вопросительными знаками.
Радикальным решением проблемы потери части символов при переходе от Unicode к внешней кодировке было бы использование 7- или 8-битных представлений Unicode UTF-7 или UTF-8 (при этом можно пересылать многоязычные тексты); однако пока что эти кодировки поддерживаются лишь немногими почтовыми программами (Outlook Express, Netscape Messenger, Forte Agent), да и большинство перекодировщиков их "не понимают". Поэтому использовать UTF-7 или UTF-8 стоит только в том случае, когда вы уверены, что ваш адресат сможет их прочесть.
Разумеется, при использовании Outlook Express не нужно подключаться к провайдеру через перекодирующие pop3 и smtp сервера - иначе письмо может быть перекодировано лишний раз.
Некоторые проблемы и решения
Проблема: Иногда текст нечитабелен даже если в меню View/ Language
установлена правильная кодировка.
Решение: Попробуйте переключиться на другую кодировку (например,
Win-1251 вместо koi8-r), а потом обратно на правильную.
Проблема: Некоторые (или все) символы кириллицы (особенно в поле
Subject) при печати заменяются знаками вопроса, хотя на экране видны нормально.
Решение: Эта проблема (и некоторые другие) с распечаткой кириллицы
может наблюдаться для некоторых бета-версий OE4 и OE5. Установите более
новую версию программы. Можно пробовать также различные шрифты, хотя это
и не всегда помогает. Кроме того, попробуйте в Internet Explorer (меню
Tools/Internet Options/General/Accessibility) включить "Ignore
font styles specified on Web Pages".
Проблема: Иногда OE v.5.0 показывает русскоязычные заголовки
в списке сообщений телеконференции в неправильной кодировке (не перекодированными
из koi8 в win-1251). Переключение кодировки не помогает.
Решение: Это известная ошибка в OE v.5.0 (исправлена в OE v.5.01).
Мметоды борьбы с ней в OE v.5.0 не всегда эффективны и несколько отдают
"шаманизмом" (см. следующий список предлагаемых действий):
- прежде чем загружать какие-либо новые сообщения, зайдите в Inbox
или Outbox и просмотрите какое-нибудь сообщение, которое там уже есть (можно
включить опцию "When starting, go directly to my Inbox folder" в
меню Tools/ Options/ General);
- в меню Tools/ Options/ Read/ Fonts задать Cyrillic (Windows)
как кодировку по умолчанию;
-в меню Tools/ Options/ Read/ International Settings задать
Cyrillic
(KOI8-R) как кодировку по умолчанию и включить опцию "Use default
encoding for all incoming messages".
- в меню Tools/ Options/ Send/ International Settings задать
Cyrillic
(KOI8-R) как кодировку по умолчанию.
- все это должно помочь (хотя иногда может и не помочь) только после
перезагрузки списка сообщений в телеконференции (для этого можно, например,
щелкнуть правой кнопкой мыши на название телеконференции в окошке список
папок и телеконференций, а затем выбрать из контекстного меню Properties/
Local File/ Reset).
Радикальное решение проблемы -- установить Outlook Express v.5.01.
Проблема: При цитировании сообщения, не которое пишется ответ,
OE иногда помечает цитируемый текст символом цитирования (">"), а иногда
нет.
Решение: Это обычно случается при ответе на сообщения, которые
написаны в формате Rich-Text или HTML. Попросите автора отсылать сообщения
в обычном текстовом формате (в Outlook Express 5, для этого нужно в меню
Tools/
Options/ Send/ Mail sending format и News sending format задать
"Plain text").
Pegasus Mail не позволяет отправлять кириллицу в поле Subject в 8-битном формате. Чтобы отправить тело письма в 8-битной форме, нужно включить опцию "Allow 8-bit MIME message encoding" в меню Tools/ Options/ Advanced Settings/ (при этом Pegasus Mail может предупредить Вас, что отправка текстов в 8-битном формате "не вполне законна"). В окошке "MIME character set" нужно задать "koi8-r".
Пожалуй, The Bat! - одна из лучших почтовых программ (если не лучшая)
для работы с кириллицей (даже несмотря на то, что поддержка юникодовских
кодировок UTF-8 и UTF-7, введенная начиная с версии 1.42, односторонняя
-- т.е. сообщения, приходящие в таком формате, автоматически декодируются,
но сам The Bat! не может отправлять сообщения в UTF-8 и UTF-7 и, соответственно,
не позволяет составлять "многоязычные" письма, как Outlook Express).
The Bat! настраивается для "8-битной" переписки на кириллице через
меню:
Account/ Properties:
Transport -- 8-bit characters are treated: Without changes.
Options -- Allow 8-bit characters in message headers.
Templates/ New message -- Use character set: Cyrillic (KOI-8).
Options/ Editor preferences/ Display/ Font -- задать кириллический
шрифт.
Если Вы хотите отправить письмо адресату, который пользуется программой типа Bmail/UUPC, надо иметь в виду, что такие программы НЕ понимают 7-битных представлений 8-битного текста в виде quoted-printable или base64, поэтому письма им нужно отправлять в 8-битной форме. Кроме того, такие программы автоматически декодируют лишь файлы-приложения, приложенные по методу UUENCODE.
Вообще, для минимизации проблем с Bmail, имеет смысл перейти на наиболее свежую версию Demos Mail for DOS -- там есть многие возможности, которых нет в Bmail.
В ранних версиях программы Bmail/UUPC (до 5.09g включительно) была жестко заложена перекодировка отправляемых писем из DOS-866 в KOI8-R и принимаемых – из KOI8-R в DOS-866. В более поздних версиях заложена возможность выбора таблицы перекодировки. При этом программа перекодирует по заданной ей таблице не все принимаемые письма, а только письма, в служебных полях которых указаны определенные кодовые страницы (charset). В результате письма с неправильно указанной кодовой страницей (либо письма типа "multipart-mixed") часто попадают в почтовый ящик неперекодированными. На практике часто бывает удобнее пользоваться такой версией, которая перекодировала бы все письма без учета указанного в них charset’а. Из новых версий Bmail/UUPC, с этой точки зрения удобнее всего версия 6.18m (она не перекодирует только текст в письмах типа "multipart-mixed").
Современные почтовые программы типа Outlook Express, The Bat!, Netscape Messenger, Eudora и т.п. сами по себе не поддерживают передачу электронной почты по протоколу UUCP (UUCP означает "Unix-to-Unix Copy Protocol", а UUPC -- реализация UUCP для PC), однако существуют специальные программы, играющие роль "шлюзов" между протоколами передачи почты POP3/SMTP и UUCP. При этом можно быть подключенным к провайдеру по протоколу UUCP, но для чтения и составления писем использовать "нормальную" почтовую программу. Одна из таких программ-"шлюзов" -- UUCP Connect (www.novgorod.net/~kvantsoft/), а другая -- Mailserver (насколько я знаю, автор Mailserver'а прекратил работу над этой программой в 1998 г.; ее последнюю бесплатную версию можно найти здесь: www.geocities.com/g_naumovets/mlsrv212.zip).
Однако если письмо приходит не в той кодировке, на которую рассчитан прокси-сервер (например, Windows-1251 вместо koi8-r), либо с неправильно указанной кодовой страницей (если данный прокси-сервер обращает внимание на поле charset), то оно будет перекодировано неправильно. Поэтому тем, кто работает через перекодирующий прокси-сервер, наверняка придется держать под рукой и специальные перекодирующие программами, которые смогут исправить последствия неправильной перекодировки.
При работе с "умной" почтовой программой типа Outlook Express или The Bat! использовать перекодирующие прокси-серверы нет никакого смысла -- наоборот, это может только породить письма в "извращенных" кодировках.
На www.download.ru можно найти и множество других перекодировщиков. Из них имеет смысл выбрать такой, который поддерживает кодировки UTF-7 и UTF-8 (например, Russian Anywhere - см. http://private.peterlink.ru/dll/rus/re.html)
How to Russify Netscape Navigator for Windows <http://www.relcom.ru/Russification/WinNetscape> -- WinNetscape Russification Bible by Paul Gorodyanski
Paul Gorodyansky's Web page http://ourworld.compuserve.com/homepages/PaulGor/ - Russification of Netscape, Office 97 and other helpful stuff
Konstantin Kazarnovskii about fonts and languages <http://shlimazl.newmail.ru/fontsmain.htm> -- very educational and well written, definitely worth reading
Lots of helpful information on Russification of various programs and operation systems <http://www.siber.com/sib/russify/>
The Cyrillic Charset Soup - о различных кодировках кириллицы
<http://czyborra.com/charsets/cyrillic.html>
Cyrillic, Russian, Slavic and East European fonts and tools for Windows
Страница Кристофа Зингера на немецком, английском и русском языках
по вопросам кириллизации и украинизации в Windows.
<http://homepages.uni-tuebingen.de/student/christoph.singer/slovo/>
Win95 Russification FAQ - <http://www.hackzone.ru/rtw95>
WinNT Russification - <http://rwntug.quarta.msk.ru/questions.htm>
Russification of Macintosh computers <http://www.relcom.ru/Russification/MacKoi8-r>
Настройка Forte Agent для работы с кириллицей
<http://www.glasnet.ru/~kazarn/soft.htm>
<http://blue.iris.mipt.ru/timur/agent.htm>
How mailers should handle Cyrillic messages (and how they actually do it) <http://blue.iris.mipt.ru/timur/trueway.htm>
A lot of useful programs for working with Cyrillic texts <http://www.kiarchive.ru/pub/cyrillic/>
Some frequently asked questions about Russification of DOS and Windows <http://www.maths.monash.edu.au/~kig/ruscom/general/rusfaq.html>
Installation of various keyboard layouts for native Windows95 keyboard switcher <http://www.netsight.net/~ryba/cyrillic/index.html>
Internet standards (RFC -- requests for comments) <http://www.rfc-editor.org>
RFC 1489: description
of KOI8-R code page
RFC 1521: MIME
format for messages sent over the Internet
RFC 1522: MIME
format for non-ASCII characters in the message headers
RFC 2319: Ukrainian
Character Set KOI8-U
RFC 2152: UTF-7
-- A Mail-Safe Transformation Format of Unicode
RFC 2279: UTF-8,
a transformation format of ISO 10646