Существует
несколько кодировок для обозначения русских букв: KOI8-R (кодировка,
применяемая в ОС UNIX), WIN-1251 (кодировка, применяемая в ОС Windows),
ISO-8859-5 (стандарт ISO), CP866 (кодировка, применяемая в ОС ДОС;
называют ее еще и альтернативной) и т.д. До недавнего времени единственным
стандартом для обмена сообщениями посредством электронной почты через
Интернет являлась кодировка KOI8-R. Сейчас к ней добавилась кодировка
WIN-1251. В этом не было бы ничего плохого, если бы все почтовые программы
умели корректно работать с различными кодировками, автоматически распознавая
их. Но это далеко не так... И если Ваша программа
настроена на обработку писем в KOI8-R, а Ваш партнер по переписке
посылает оные в кодировке WIN-1251, то увидите Вы примерно следующее:
гДПЮБЯРБСИ, ДПСФНЙ!
щРН ОХЯЭЛН Б ЙНДХПНБЙЕ WIN-1251. оНОПНАСИ ЕЦН ОПНВХРЮРЭ!
Ситуация
усугубляется еще и тем, что некоторые почтовые узлы пытаются самостоятельно
перекодировать письма, приводя их к единственно верной, с их точки
зрения, кодировке. Как результат- двойная перекодировка:
Цдочаъпаях, доятми!
Ыпм нуъщкм а имдуомаие WIN-1251. Нмномюях ежм номбупчпщ!
Что делать в такой ситуации? В сложных
случаях (двойная перекодировка, например) необходимо воспользоваться
одной из программ-перекодировщиков:
В простейшем случае, можно попытаться
перекодировать письмо без специальных программ:
I . Если Вы пользуетесь Netscape
Messеnger...
Прочитать письмо, написанное в кодировке
Windows-1251, можно проделав следующее:
меню "View" | команда "Character_Set";
измените кодировку с "Cyrillic (Windows-1251)" на "User-Defined".
Таким же способом можно попытаться прочитать
письма в других кодировках Unicode (UTF-8) (переключите кодировку
на "Unicode (UTF-8)"), Unicode (UTF-7) (переключите кодировку
на "Unicode (UTF-7)") и т.д.
N.B. Не забудьте после
прочтения письма восстановить "Cyrillic (Windows-1251)"
в Меню "View"| "Charset Set" - это, как ни странно,
директива Netscape Messanger'у писать и читать в кодировке KOI8-R...
N.B. Если при смене
Chararcter Set Вы видите греческие (или арабские, в общем, не русские)
буквы, Вы должны выполнить следующие действия:
Меню "Edit" | "Preferences..."
| Категория "Appearance" | Категория "Fonts";
установите в поле "For the Encoding:" кодировку, отображаемую
не русским алфавитом; установите какие-либо русские шрифты в полях
"Variable Width Font" и "Fixed Width Font";
нажмите кнопку "OK"...
II. Если Вы пользуетесь Outlook
Express...
Эта программа сама умеет определять кодировку
письма, основываясь на параметре "charset="***", присутствующим
в заголовке письма (как правило, этот заголовок скрыт от пользователя).
Бывают случаи, когда в заголовке указана одна кодировка, а письмо
написано в другой кодировке. В этом случае можно поробовать переключить
кодировку "вручную":
Меню "Вид" | "Язык"
попробуйте перебрать некоторые кодировки...
N.B. Не забудьте после
прочтения письма восстановить KOI8-R...
Если Вам не все же не удалось прочитать
письмо, Вам поможет одна из программ, перечисленных ниже...
TOT-RECODE
II (Windows 95/98/NT)
- программа служит для автоматического и ручного восстановления русскоязычных
текстов, подвергнутых "враждебными сисами" множественным
перекодированиям из одной кодовой таблицы в другую. Найти программу
можно в файловом
архив МАРК-ИТТ в каталоге windows95/coders [http://www.mark-itt.ru/cgi-bin/filelist?/m/pub/windows95/coders],
файл recoder_big.zip
Текст
для перекодирования может быть взят как из буфера обмена (clipboard),
так и из файла путем нажатия на соответствующие кнопки в верхней части
главного окна программы. Существует возможность открытия перекодируемого
файла одновременно с запуском TOT - RECODE II, для этого нужный файл
надо просто "кинуть" на иконку программы (так же файл может
быть открыт с помощью drag and drop - нужно "перетащить"
перекодируемый файл в list box). TOT - RECODE II может сам обнаруживать
текст в буфере обмена - автоматически считать его и перекодировать
по текущей выбранной схеме.
В главном
окне программы имеется список (list box), куда по мере нахождения
добавляются варианты перекодировки (при автоматической схеме). Двойной
щелчок левой кнопкой мыши на одном из вариантов перекодировки откроет
окно предварительного просмотра (если включена соответствующая опция
в установках программы, в противном случае появится всплывающее окно
- ToolTip, с перекодированным текстом), при нажатии на правую кнопку
мыши появится Pop-Up меню, позволяющее сохранить результат в файл
или в буфер обмена без предварительного просмотра или записать данный
вариант перекодировки как схему.
Более подробную
информацию об этой программе Вы найдете на сервере http://recoder.da.ru...
RECODE
(MSDOS)- позволяет перекодировать
текст из CP866 в ISO-8859-5, KOI8-R, WIN-1251; из ISO-8859-5 в CP866,
KOI8-R, WIN-1251; из KOI8-R в CP866, ISO-8859-5, WIN-1251; из WIN-1251
в CP866, ISO-8859-5, KOI8-R. Найти программу можно в файловом
архив МАРК-ИТТ в каталоге windows95/coders [http://www.mark-itt.ru/cgi-bin/filelist?/m/pub/windows95/coders]
файл recode.exe.
Использование:
Сохраните письмо в виде текстового файла
(например, pismo.txt) и выполните команду:
recode.exe -Option InputFile [OutputFile]
Параметр Option может принимать значения:
-ai - перекодировать исходный текст
из CP866 в ISO-8859-5;
-ak - перекодировать исходный текст из CP866 в KOI8-R;
-aw - перекодировать исходный текст из CP866 в WIN-1251;
-ia - перекодировать исходный текст из ISO-8859-5 в CP866;
-ik - перекодировать исходный текст из ISO-8859-5 в KOI8-R;
-iw - перекодировать исходный текст из ISO-8859-5 в WIN-1251;
-ka - перекодировать исходный текст из KOI8-R в CP866;
-ki - перекодировать исходный текст из KOI8-R в ISO-8859-5;
-kw - перекодировать исходный текст из KOI8-R в WIN-1251;
-wa - перекодировать исходный текст из WIN-1251 в CP866;
-wi - перекодировать исходный текст из WIN-1251 в ISO-8859-5;
-wk - перекодировать исходный текст из WIN-1251 в KOI8-R;
InputFile - имя файла, содержащего текст, который нужно перекодировать;
OutputFile - имя файла, который будет содержать перекодированный
текст.
Параметр
Option нужно подбирать вручную, опираясь исключительно на свой личный
опыт и интуицию. Для того, чтобы прочитать первый текст (см.
выше), пришлось выполнить команду:
recode.exe -wk pismo.txt
Для того,
чтобы прочитать второй текст (см.выше),
пришлось выполнить эту команду дважды:
recode.exe -wk pismo.txt
recode.exe -wk pismo.txt
Вот что получилось:
Здравствуй, дружок!
Это письмо в кодировке WIN-1251. Попробуй его прочитать!
TCODE
(MSDOS) - универсальный перекодировщик,
автоматически распознающий до 8-ми операций перекодирования,
злобно проделанных кем-то или чем-то над текстовым файлом. Найти программу
можно в файловом
архив МАРК-ИТТ в каталоге windows95/coders [http://www.mark-itt.ru/cgi-bin/filelist?/m/pub/windows95/coders]
файл tcode.exe.
Использование:
Сохраните письмо в виде текстового файла
(например, pismo.txt) и выполните команду:
tcode.exe [InputFile] [/Option] [OutputFile]
[/Option] [/Option] ...
Параметры Option могут принимать значения:
/AUTO - автоматическое определение
кодировки исходного текста;
/DOS - текст в кодировке CP866 - досовская кодировка;
/WIN - текст в кодировке WIN-1251 - кодировка WIN-1251;
/KOI - текст в кодировке KOI8-R;
/ISO - текст в кодировке ISO-8859-5;
/L:File - загрузить кодовую таблицу из файла File;
/S:File - сохранить кодовую таблицу в файле File;
/C:File - создать таблицу перекодировки на основе сравнения исходного
и полученного файлов, сохранить эту таблицу в файле File;
/H, /? - показать подробную инструкцию;
InputFile - имя файла, содержащего текст, который нужно перекодировать;
OutputFile - имя файла, который будет содержать перекодированный
текст.
Параметры Option- необязательные. В простейшем
случае, команда выглядит так:
tcode.exe InputFile
Например,
для того, чтобы перекодировать оба текста (см.
выше) достаточно было набрать команду:
tcode.exe pismo.txt
и вот что
получилось:
Здравствуй, дружок!
Это письмо в кодировке WIN-1251. Попробуй его прочитать!
Существуют
и другие подобные программы. Некоторое количество оных Вы найдете
на сервере ListSoft.RU.
Пользуйтесь ими на свой страх и риск...
В заключение
отметим, что до появления нормально работающих почтовых программ целесообразно
(почти обязательно) использовать кодировку KOI8-R как наиболее
распространенную и попросить Вашего партнера по переписке делать то
же самое...