Кодиране на Windows 1251

В началото на 90-те, когато СССР се разпадна и границите на Русия бяха отворени, започнахме да получаваме софтуерни продукти от западното производство. Естествено, всички бяха англоезични. В същото време Интернет започва да се развива. Проблемът с русификацията на ресурси и програми стана остро. Тогава е изобретено руското кодиране на Windows 1251. Тя ви позволява правилно да показвате буквите на славянските азбуки:

  • руски език;
  • украински;
  • Беларус;
  • сръбски;
  • български език;
  • македонски.

Разработката е проведена от руското представителство на Microsoft съвместно с компаниите "Диалог" и "Параграф". Основата беше взета от направените разработки, които през 1990-91 г. бяха в обращение сред малкото ИТ идеолози в Русия.

Към днешна дата е разработен по-универсален начин за кодиране на знаци - UTF-8 (Unicode). Той представлява почти 90% от целия софтуер и уеб ресурси. Windows 1251 се използва в 1,6% от случаите. (Информация за проучвания на уеб технологиите)

Utf 8 или Windows 1251 кодиране?

За да отговорите на този въпрос, трябва да разберете малко какво е кодирането и как се различават. Текстовата информация, както и всяка друга, се съхранява в компютъра в кодиран вид. По-лесно е да го представим като числа. Всеки символ може да заема един или повече байта. Windows 1251 е еднобайтово кодиране, а UTF-8 е осембайтов. Това означава, че в Windows 1251 могат да бъдат кодирани само 256 знака..
Тъй като всичко се свежда до бинарната система, а байтът е 8 бита (0 и 1), максималният брой комбинации е 28 = 256. Unicode ви позволява да представяте много по-голям брой символи и може да се разпредели по-голям размер за всеки.

От тук следват предимствата на Unicode:

  1. В заглавката на сайта трябва да се посочи кодирането, което се използва. В противен случай вместо символи ще се покажат "крокодили". А Unicode е стандартен за всички браузъри - те го хващат в движение като по подразбиране.
  2. Символите на сайта ще останат същите, независимо в коя държава се зарежда ресурсът. Това не зависи от географското местоположение на сървърите, а от езика на софтуера на клиентските работни станции. Жител на Португалия очевидно използва клавиатура и целият софтуер, включително операционната система, на родния си език. Най-вероятно в компютъра му няма Windows 1251. И ако е така, тогава сайтовете на руски език няма да се отворят правилно. Unicode от своя страна е "свързан" към всяка ОС на който и да е език.
  3. UTF-8 ви позволява да кодирате повече знаци. В момента се използват 6 байта от 8, а руските символи са кодирани в два байта.
    Ето защо е за предпочитане да се използва универсално кодиране, а не високоспециализирано, което се използва само в славянските страни.

Таблица за кодиране на Windows 1251

За програмистите и разработчиците на уебсайтове може да е необходимо да знаят номерата на символите. За това се използват специални таблици за кодиране. По-долу е дадена таблица за Windows 1251.

Какво да направите, ако кодирането на командния ред е прелетяло?

Понякога може да срещнете ситуация, при която в командния ред вместо руснаци се показват непонятни символи. Това означава, че има проблем с кодирането на командния ред на Windows 7. Защо 7? Защото, като се започне с 8-ма версия, се използва UTF-8, а в седемте Windows 1251.
Командата chcp 866 може да помогне едновременно да се реши проблемът. Текущата сесия ще работи правилно. Но за да коригирате драстично грешката, трябва регистър.

  1. Натиснете Win + R и въведете regedit. Това ще ви позволи да влезете в редактора на системния регистър..
  2. Отидете до клона HKEY_CURRENT_USER \ Console и вижте на какво е равна стойността за CodePage. Най-вероятно ще видите нещо различно от 866 (правилната опция).
  3. Точно на 866 в десетични.
  4. Затворете и отново отворете командния ред. Ситуацията трябва да се коригира.

Приятен ден!