Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Компьютер. От начинающего к опытному пользователю. Борьба с кодировками для начинающих. Выпуск 21.


Компьютер. От начинающего к опытному пользователю.
Дмитрий Кольянов. Написать ведущему
Сайт рассылки
Советы начинающему пользователю ПК

Выпуск 21
от 04.12.2006

Доброго здоровья, уважаемые подписчики!

Борьба с кодировками для начинающих.

Многие из вас, возможно, частенько сталкивались с тем, что, получая почту, обнаруживали какое-то нечитаемое письмо. Или, бродя, по просторам инета, наталкивались на страницу, которая тоже была написана крокозябрами. :)

Вот это и есть проблема с кодировками.

Вообще говоря, это проблема нелатинских шрифтов. С западными шрифтами (или с теми, которые написаны латиницей) проблем кодировки не существует. Почему? Так сложилось исторически. :)

Все дело в том, что компьютерные технологии зародились и впервые начали применяться на западе. И, естественно, таблица кодировок символов изначально существовала только в варианте для латиницы. Плюс в ней были представлены многочисленные дополнительные символы (такие, как всякие крышечки, процентики, амперсанты, псевдографические символы и т.д. и т.п.).

Затосковали? :) Не тоскуйте. Сейчас во всем разберемся.

Итак, что такое таблица кодировок символов? Я надеюсь, из первых моих рассылок вы помните, что вся информация, что только есть в компьютере представлена последовательностью ноликов и единичек. И те буквы и слова, которые вы сейчас наблюдаете в привычном для вас виде, в памяти вашего компьютера представлены совсем не так. :) "А как?", - спросите вы. Ну, например, буква W (от слова Windows ;)) выглядит как 0x57 в шестнадцатеричном формате или 0000000001010111 - в двоичном (т.е. представленном нолями и единицами), а буква Ч - 0000000011010111 (0xD7) в кодировке Windows-1251 (или ASCII). А в кодировке DOS - 0000000011111100 (0xFC). А W во всех этих кодировках представлена одинаково. Страшно? Представляете, какой "вумный" этот компьютер? ;)

Так вот, таблица кодировок символов - это просто напросто таблица соответствия понятных для нас буковок их кодам в памяти компьютера. Т.е., если компьютер видит, что на экран нужно вывести символ с кодом 0000000001010111, он выводит символ W, который соответствует этому коду. Просто? Просто. Но просто - для латиницы. Для шрифтов не латинского начертания дело обстоит сложнее. Давайте для начала примем, что я буду говорить только про кириллические шрифты (т.е. про нашу с вами "ридну русску мову" ;)). Ведь существуют еще символы иврита, арабские символы, иероглифические символы и т.п. Но про них мы почти не будем говорить.

Так вот, дело в том, что таблиц кодировок (или просто - кодировок) для кириллицы существует..., скажем так, далеко не одна. И из-за этого и возникают все сложности.

Немного истории. Когда встал вопрос отображения на экране компьютера кириллицы, еще не существовало единого стандарта для формирования кодировок национальных символов. И вот тут-то и началось...

В СССР в 70-е годы было принято аж два ГОСТа для отображения кириллицы: КОИ8 и ДКОИ (не пугайтесь :), мы не будем вникать в тонкости этих кодировок; это нам не нужно). Затем в конце 80-х, с началом массового внедрения IBM-совместимых персональных компьютеров, для них была предложена так называемая альтернативная кодировка кириллицы для операционной системы DOS, которая была потом даже принята в качестве одного из стандартов и получина название CP-866.

Затем появляется еще одна - KOI8-R, которая широко используется в UNIX и UNIX-подобных операционных системах.

А международная организация стандартов в это время (1988г) принимает еще один стандарт кириллической кодировки - ISO-8859-5.

В начале 90-х годов появляется операционная система Windows, для русификации которой Microsoft использует еще одну кириллическую кодировку - CP-1251 (или ее сейчас еще называют win-1251).

И это я вам еще и не все рассказал!

Вот такие пироги. Так что сейчас русскоязычные пользователи имеют счастье работать минимум с 4-мя наиболее широко распространенными кодировками: CP-1251, CP-866, CP KOI8-R и CP ISO-8859-5. (Кстати, CP - это просто Code Page - кодовая страница)

Но это все была лирика, история и философия. :) Для любителей оной привожу ссылку, где они смогут почитать про кодировки более подробно: http://www.iis.ru/cyrillic/resource/report1997.ru.html.

А мы перейдем к полстатьи уже волнующему вас вопросу: Что делать-то будем? :)

Как всегда - мир не без добрых людей. И нашлись-таки люди, которые позаботились о нас - пользователях, которым некогда разбираться в дебрях нулей и единичек, а нужно просто прочитать те "крокозябры", которые пришли к нам по почте или встретились на страничке в интернете.

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

Итак, вы увидели нечитаемую страничку в вашем браузере. Если у вас IE (Internet Explorer) или браузер, на нем основанный (типа, MyIE, Maxthon, Avant и т.п.), то просто щелкаете правой кнопкой мыши по страничке, находите пункт меню Кодировка и пытаетесь подобрать нужную кодовую страницу (из кириллических, разумеется). Есть там и пункт "Автоопределение", который в большинстве случаев хорошо работает. И приведенные выше действия нужны именно в тех случаях, когда автоопределение почему-то не сработало.

Есть похожие возможности и в других браузерах. Например, в Opera и FireFox есть пункт меню "Вид", в котором есть подпункт "Кодировка", и в случае проблем с отображением страницы нужно заглядывать в первую очередь в него.

Для наиболее распространенных почтовых клиентов Outlook Express и моего любимого :) TheBat! работает та же правая кнопка мыши по тексту письма - выпадает меню с подпунктом "Кодировка"(или "Перекодировка"). И дальше таже игра в "угадай нужную кодировку". :)

Но что же делать, если эта игра не помогает?

Вот тут-то нам и помогут некоторые программки, написанные очень хорошими и добрыми людьми. :) Я бы даже рекомендовал одну единственную программу, потому что в своей практике не сталкивался с ситуацией, когда мне понадобились бы другие. Но хочется, что бы у вас, дорогие читатели, была альтернатива. :)

Итак, первая и всегда присутствующая у меня на винчестере программа - Штирлиц (Shtirlitz) версии 4.01 и последней (к сожалению). Прошу любить и жаловать. :) Если у вас что-то не читается и шаманство с кодировками в почтовике или браузере не проходит, берете и копируете нечитаемый текст в буфер обмена. Затем запускаете Штирлица, создаете в нем новый документ и вставляете в него то, что скопировали в буфер. У меня не было ни одного случая, когда я не увидел бы в окне Штирлица вполне читаемый текст.

Пишу "вполне", потому что вставлял когда-то в него текст в транслите (для тех, кто не знает, транслит - русский текст, написанный латинскими буквами) и получал читабельный, но несколько странноватый текст. Это связано с тем, что нет одинаковых правил написания некоторых русских букв латинскими. Например, букву "ж" можно написать "zh" или "j", а можно еще как-нибудь. Фантазия у людей богатая. :)

Идем дальше. Еще несколько программ я представлю просто и без затей, т.е. просто перечислю их и дам краткую характеристику от авторов. Потому что сам я ими не пользовался (при наличии Штирлица не было нужды :)) и мало что могу сказать по их поводу.

TOTRECODE-II - Программа служит для автоматического и ручного восстановления и перекодирования русскоязычных текстов. В настоящее время поддержка и дальнейшая разработка программы автором прекращены. Сайт программы - http://www.smartline.ru/recode/totrecode2.html .

SNK DEcode! - простая в использовании программа для перекодировки из/в DOS-OS/2 (cp 866), Windows (cp 1251), UNIX (Koi-8r cp), Macintosh и ISO 8859-5 кодовых страниц. Программа, в первую очередь, предназначена для тех, кто любит время от времени поэкспериментировать с кодировками «вручную». В настоящее время существует масса программ, в той или иной степени реализующих автоопределение кодовой страницы, часто довольно удачно. Однако, как показывает практика, многие пользователи предпочитают указывать, что делать, сами. В таком случае этот перекодировщик - именно то, что вам надо! Официального сайта программы я, к сожалению, не нашел.

RECODER - Позволяет конвертировать русские тексты из одной кодировки в другие. Доступны WIN, DOS, KOI, ISO, MAC, LAT(руглиш :) - транслит). Работает с толпой файлов одновременно, включая подкаталоги (рекурсивно). Есть множественный выбор файлов (Gray+,-,*) и возможность не обрабатывать отдельные типы файлов. Преобразует строки в разные форматы Windows/Unix/Macintosh. Интерфейс RUS/ENG. Хотя это скорее просто перекодировщик. Для него нужно знать исходную кодировку текста. А если вы не знаете? Программу можно скачать по ссылке http://www.allfreesoft.ru/products/P00000870001430.shtml или http://www.geocities.com/baja/3519/soft.htm, но, похоже, она автором больше не поддерживается.

Pestretsov Text Converter - Программа предназначена для перекодирования текста (текстовых файлов). Программа поддерживает пять различных кодировок DOS 866, WINDOWS 1251, ISO 8859-5, UNIX KOI-8, MAC Apple. Программа также может быть использована для восстановления русских текстов, испорченных в процессе передачи по электроной почте, а также для перекодирования собственных текстов. Кроме того при помощи данного конвертера можно как создавать новые, так и редактировать уже созданные текстовые документы. Имеется возможность внедрять данные из других документов в документ программы. Сайт программы и ее автора - http://www.pestretsov.narod.ru/

Есть, безусловно, и еще программы. Но не объять необъятное. :) Я уверен, что, при желании, вы сами сможете найти еще с пятОк другой подобных программ. :)

Но, вообще, сегодня проблема кодировок стоит уже не так остро, как стояла, скажем, года 3 назад. Грамотные разработчики программного обеспечения уже давно стараются предусмотреть возможность переключения кодировок в своих программах. Возьмите тот же Internet Explorer, Outlook Express, Opera или TheBat!. Ну, а программами неграмотных разработчиков зачем пользоваться? ;)

Кроме того, сейчас все большее распространение получает новый стандарт представления национальных символов - Unicode. Это такая таблица кодировок, которая включает в себя все символы существующих немертвых языков. И кириллицы в том числе. Поэтому, если вы встретите такую английскую аббревиатуру UTF, знайте, что это и есть тот самый Unicode

По идее, с переходом на Unicode должны исчезнуть все проблемы кодировок. Весь вопрос только в том, когда произойдет этот переход. :) Это ведь и тексты нужно все в Unicode писать и программы. А сколько их уже написано в других кодировках! Так что идиллия наступит не скоро и золотой век откладывается на неопределенное время. ;)

Но вы не расстаивайтесь. Пользуйтесь правильными программами и перекодировщиками, и все, как говорится, у нас (вас) получится. :)

-----

Удачи.


Электронная книга "11 шагов к порядку на компьютере" - решение многих проблем вашего компьютера.

 

 

Компьютер. От начинающего к опытному пользователю.
Дмитрий Кольянов. Написать ведущему
Сайт рассылки
Советы начинающему пользователю ПК

Выпуск 21
от 04.12.2006

В избранное