О русском язке, кириллических символах и о письмах в присоединённых файлах.
Друзья,
все знают, что в наше время почти все компьютеры руссифицированны настолько, что мы уже не боясь пишем письма по-русски, называем файлы русскими буквами и пользуемся версии виндовсов и программ, которые говорят с нами по-русски. Но не тут то было. Меня настораживают три случая в моей практике, когда у моих друзей либо письма приходят в клинически неверной кодировке (и не все могут их прочесть), либо человек сам не может прочитать, и ещё есть два любителя отправлять свои новости в присоединённых файлах. А раз проблема есть, то я, без попыток навязывания истины в последней инстанции, хотел бы поделиться секретами мастерства. Особенно, грешно мне было бы это не сделать с учётом того, что я сейчас занимаюсь администрированием в it-шном подразделении и компьютеры устанавливаю пачками.
Начнём с самого начала:
- Почему с русскими буквами могут быть вопросы?
- Потому что изначально
...
коды, при помощи которых буквы хранятся в компьютере, придумывали англоязычные людишки.
- Основатели кодировки решили, что 128 знаков (буквы, цифры и знаки припинания) будет более, чем достаточно.
- Потом решили, что иногда можно применять символы для рисования таблиц (псевдографика) или национальных букв
- Потом весь мир решил, что мучаться с загружаемыми кодами грустно, поэтому надо использовать такие коды, что бы все буквы всех алфавитов в них помещались без труда.
7-bit На заре электронных писем большинство почтовых сервисов любило использовать “7-bit” семибитную кодировку, в которой принципиально могли передаваться только латинские буквы, цифры и знаки припинания. От использования каких-то программ, зачастую приходилось отказываться по причине того, что программа отказывалась настраиваться на другие режимы. А зачем? Многим американцам не верилось, что бывают и другие буквы. Кстати, эта кодировка ещё кое-где используется. Знаете ли вы, что если вы отправляете SMS только с английскими буквами, то она может быть до 160 символов, а как только появляются русские буквы - только 70? Это как раз потому, что английские символы кодируются семибитной кодировкой.
8-bit Когда рынок компьютеров начал распространяться по миру, то было принято решение: добавить к семибитной кодировке ещё один бит. Если этот бит =0, то символ однозначно соответствует символами 7-битной кодировки, а если =1, то это символ, определённый кодовой страницей. Так или иначе - английские буквы, цифры и знаки препинания везде одинаковые. Получилось, что в распоряжении авторов шрифта появились ещё 128 символов. Каждая страна выпускала свой код. Этот код называется “Кодовой страницей” или codepage. Надо сказать, что при проникновении компьютеризации в СССР, независимо друг от друга возник добрый десяток кодовых страниц. Когда компьютеры работали под DOS стандартом де факто была кодовая страница 866. Микрософт, приступая в руссификации Windows придумал свою кодировку. Она имеет номер 1251. Были ещё несколько альтернативных кодировок, кодировки KOI, но эти две сейчас самые главные.
Unicode Для кодировок при помощи 8 битов всегда возникает вопрос: а как определить в какой кодировке буква? В то время было принято настраивать программы так, что бы в настройках была указана кодировка в которой программа работает и всё замечательно. А представьте как быть с текстом по лингвистике: если в одной строке могут встретиться русская буква, беларусское у кароткае, украинское и с двумя точками и какой-нибудь немецкий у-мляут? Вот и получается, что разным буквам нужны разные кодировки. (Я не помню точно - возможно в каких-то кодировках русские, беларусские и украинские буквы могли присутствовать вместе). Вот тогда и решили сделать такую кодировку, что бы кодировка каждой буквы была понятна. Грубо говоря, это получается уже 16-битное кодирование. Или (опять же грубо) идёт сначала байт с кодовой страницей, а потом буква. Такая кодировка в два раза объёмнее, но в сто раз менее проблемматична для реализации.
Итак, мы пришли к самому главному. Если вы написали письмо, то в сопроводительной к нему информации написано в какой кодировке закодирован текст письма. Варианты такие : 7-бит, номер кодовой страницы или Unicode. Надо сказать, что если вы пользуетесь программой, написанной в соответствии с ГОСТами (то есть международнысм стандартами), то ей без разницы в какой кодировке отправлять русский текст. 7-бит, разумеется, отметается с негодованием, а вот кодовые странички 866, 1251 или Unicode для пользователя не имеют разницы. Там набрали русские буквы - тут они отобразились как русские.
Вот тут как раз и начинается кино. Если ваша почтовая программа настроена правильно на задание кодовой страницы для написания или для чтения, то всё замечательно. Но у нас во дворе XXI век. Поэтому большинство программ, работающие под Windows не имеют такой настройки. На крайний случай, они имеют настройку “Какую кодовую страницу применять, если нет никакой информации”. Во времена DOS это было хорошо. Потому что там ответ однозначный - 866. А сейчас этот номер уже не проходит.
То же самое касается и чтения писем, особенно через WEB (когда вы заходите на страничку Internet Explorer, вводите адрес типа www.tut.by (или как у вас там) и тут же читаете почту.
Для того, что бы ваши письма были видны ВСЕМ, кто настроил компьютер хоть как-то и для того, что бы вы видели письма, отправленные в соответствии с международными стандартами, вам надо настроить в windows кодовую страницу:
Для этого идём в Start -> Control Panel -> Regional Setting (Пуск -> Контрольная панель -> Настройки региона) и настраиваем как на картинке:

И всё! Слово русский надо прописать в трёх местах. Всё остальное windows сделает сама. И после этого ваши русские буквы будут читаться везде и как надо (Саша, это я про тебя) и письма от Беляшова и Юрки будут чиататься сразу как надо (это я про Васю).
У меня сегодня не получилось охватить ещё некотрых аспектов сетевого общения, но, я думаю, что не в последний раз вы читаете мои письма тут? 