Контакти

Таблиця кодування віндовс російські літери. За допомогою консольної утиліти DISM

Кракозябри- Що за слово таке цікаве? Цим словом зазвичай російські користувачі називають неправильне/невірне відображення (кодування) символів у програмах чи операційної Системи.
Чому таке трапляється? Однозначної відповіді Ви не знайдете. Це може бути внаслідок витівок наших "улюблених" вірусів, може через збій роботи ОС Windows (наприклад зникла електрика і вимкнувся комп'ютер), може програма створила конфлікт з іншою або ОС і все "полетіло". Загалом причин може бути багато, а найцікавіша - це "Воно саме так взяло і зламалося".
Читаємо статтю і дізнаємося як виправити проблему з кодуванням у програмах та ОС Windows, якщо вона трапилася.

Хто досі не зрозумів про що я маю на увазі, ось вам кілька:


До речі, я теж потрапив якось у цю ситуацію і досі на Робочому столі лежить файл, який допоміг мені впоратися з нею. Тому й вирішив написати цю статтю.

За відображення кодування (шрифту) у Windows відповідає кілька "речей" - це мова, реєстр та файли самої ОС. Тепер їх перевірятимемо окремо та за пунктами.

Як прибрати та виправити кракозябри замість російської (російських букв) у програмі або Windows.

1. Перевіряємо встановлену мову для програм, що не підтримують юнікод. Може, він у Вас збився.

Отже, переходимо шляхом: Панель управління - Мова та регіональні стандарти - вкладка Додатково
Там дивимося, щоб мова була російська.


У Windows XP також є список "Кодові сторінки таблиць перетворення" і в ньому є рядок з цифрою 20880 . Потрібно, щоб там теж був Російський

6. Останній пункт, в якому я даю Вам файл, який допоміг мені виправити колись і саме тому я його залишив на згадку. Ось архів:

Усередині два файли: кракозбрoff.cmd і кракозбрoff.reg

Принцип у них однаковий - виправити всіма способами ієрогліфи, квадратики, питання або знаки оклику в програмах і ОС Windows (у простолюдді кракозябри). Я скористався першим і мені допомогло.

Ну і насамкінець пара порад:
1) Якщо працюєте з реєстром, то не забувайте робити бекап (резервну копію) на той випадок, якщо щось піде не так.
2) Бажано після кожного пункту перевіряти перший пункт.

На цьому все. Тепер Ви знаєте як виправити прибрати/виправити Кракозябри (квадратики, ієрогліфи, знаки оклику та знаки питання) у програмі або Windows.

На початку 90-х, коли відбувся розвал СРСР і кордони Росії були відкриті, до нас почали надходити програмні продукти західного виробництва. Звичайно, всі вони були англомовними. У цей час починає розвиватися Інтернет. Гостро постала проблема русифікації ресурсів та програм. Тоді і було вигадано російське кодування Windows 1251. Вона дозволяє коректно відображати літери слов'янських алфавітів:

  • російської;
  • української;
  • білоруської;
  • сербської;
  • болгарського;
  • македонського.

Розробка велася російським представництвом Microsoft разом із компаніями «Діалог» і «Параграф». За основу було взято самописні розробки, які у 1990-91гг мали ходіння серед нечисленних ідеологів ІТ у Росії.

На сьогоднішній день розроблено більш універсальний спосіб кодування символів - UTF-8 (Юнікод). У ньому представлено майже 90% усіх програмних та веб-ресурсів. Windows 1251 застосовується у 1,6% випадків. (Інформація з досліджень Web Technology Surveys)

Кодування сайту utf 8 чи Windows 1251?

Щоб відповісти на це питання, необхідно трохи зрозуміти, що таке кодування і чим вони відрізняються. Текстова інформація, як і будь-яка інша, в комп'ютері зберігається в закодованому вигляді. Нам легше уявити її як числа. Кожен символ може займати один або більше байт. Windows 1251 є однобайтним кодуванням, а UTF-8 восьмибайтним. Це означає, що у Windows 1251 можна закодувати лише 256 символів.
Так як все зводиться до двійкової системи обчислення, а байт - це 8 біт (0 і 1), то і максимальна кількість поєднань становить 28 = 256. Юнікод дозволяє представляти куди більше символів, та й на кожен може бути виділений більший розмір.

Звідси і випливають переваги Юнікоду:

  1. У шапці сайту слід вказати кодування, яке використовується. Інакше замість символів відобразяться «кракозябла». А Юнікод є стандартним для всіх браузерів – вони ловлять його «на льоту» як встановлений за умовчанням.
  2. Символи сайту залишаться тими самими, незалежно від того, в якій країні завантажується ресурс. Це залежить від географічного розташування серверів, як від мови програмного забезпечення робочих станцій клієнта. Мешканець Португалії, очевидно, використовує клавіатуру і все програмне забезпечення, включаючи операційну систему, рідною мовою. У його комп'ютері, швидше за все, взагалі відсутня Windows 1251. А якщо це так, то і сайти російською мовою коректно відкриватися не будуть. Юнікод, у свою чергу, «зашитий» у будь-яку ОС будь-якою мовою.
  3. UTF-8 дозволяє закодувати більше символів. На даний момент використовується 6 байт із 8-ми, а російські символи кодуються двома байтами.
    Саме тому краще використовувати універсальне кодування, а не вузькоспеціалізоване, яке застосовується тільки в слов'янських країнах.

Таблиця кодування Windows 1251

Для програмістів і розробників сайтів потрібно знати номери символів. Для цього використовуються спеціальні таблиці кодування. Нижче наведено таблицю для Windows 1251.

Що робити, якщо злетіло кодування командного рядка?

Іноді Ви можете зіткнутися із ситуацією, коли в командному рядку замість росіян відображаються незрозумілі символи. Це означає, що виникла проблема кодування командного рядка Windows 7. Чому 7? Тому що, починаючи з 8 версії, використовується UTF-8, а в сімці ще Windows 1251.
Одночасно допомогти вирішити проблему може команда CHCP 866. Поточний сеанс працюватиме коректно. А от, щоб виправити помилку кардинально, знадобиться реєстр.


Чудового Вам дня!

Windows-1251 — набір символів та кодування, що є стандартним 8-бітовим кодуванням для всіх російських версій Microsoft Windows. Це кодування користується досить великою популярністю у східноєвропейських країнах. Windows-1251 вигідно відрізняється від інших 8-бітних кириличних кодувань (таких як CP866, KOI8-R та ISO 8859-5) наявністю практично всіх символів, що використовуються в традиційній російській друкарні для звичайного тексту (відсутня тільки знак наголосу). Кирилічні символи йдуть за абеткою.
Windows-1251 також містить усі символи для близьких до російської мови мов: білоруської, української, сербської, македонської та болгарської.
На практиці цього виявилося достатньо, щоб кодування Windows-1251 закріпилося в інтернеті до поширення UTF-8.

Таблиця кодів символів Windows-1251

DecHexСимвол DecHexСимвол
000 00 NOP 128 80 Ђ
001 01 SOH 129 81 Ѓ
002 02 STX 130 82
003 03 ETX 131 83 ѓ
004 04 EOT 132 84
005 05 ENQ 133 85
006 06 ACK 134 86
007 07 BEL 135 87
008 08 BS 136 88
009 09 TAB 137 89
010 0ALF 138 8AЉ
011 0BVT 139 8B
012 0CFF 140 8CЊ
013 0DCR 141 8DЌ
014 0ESO 142 8EЋ
015 0FSI 143 8FЏ
016 10 DLE 144 90 ђ
017 11 DC1 145 91
018 12 DC2 146 92
019 13 DC3 147 93
020 14 DC4 148 94
021 15 NAK 149 95
022 16 SYN 150 96
023 17 ETB 151 97
024 18 CAN 152 98
025 19 EM 153 99
026 1ASUB 154 9Aљ
027 1BESC 155 9B
028 1CFS 156 9Cњ
029 1DGS 157 9Dќ
030 1ERS 158 9Eћ
031 1FUS 159 9Fџ
032 20 SP 160 A0
033 21 ! 161 A1 Ў
034 22 " 162 A2ў
035 23 # 163 A3Ћ
036 24 $ 164 A4¤
037 25 % 165 A5Ґ
038 26 & 166 A6¦
039 27 " 167 A7§
040 28 ( 168 A8Ё
041 29 ) 169 A9©
042 2A* 170 AAЄ
043 2B+ 171 AB«
044 2C, 172 AC¬
045 2D- 173 AD­
046 2E. 174 AE®
047 2F/ 175 AFЇ
048 30 0 176 B0°
049 31 1 177 B1±
050 32 2 178 B2І
051 33 3 179 B3і
052 34 4 180 B4ґ
053 35 5 181 B5µ
054 36 6 182 B6
055 37 7 183 B7·
056 38 8 184 B8е
057 39 9 185 B9
058 3A: 186 BAє
059 3B; 187 BB»
060 3C< 188 BCј
061 3D= 189 BDЅ
062 3E> 190 BEѕ
063 3F? 191 BFї
064 40 @ 192 C0 А
065 41 A 193 C1 Б
066 42 B 194 C2 У
067 43 C 195 C3 Г
068 44 D 196 C4 Д
069 45 E 197 C5 Е
070 46 F 198 C6 Ж
071 47 G 199 C7 З
072 48 H 200 C8 І
073 49 I 201 C9 Й
074 4AJ 202 CA До
075 4BK 203 CB Л
076 4CL 204 CC М
077 4DM 205 CD Н
078 4EN 206 CE Про
079 4FO 207 CF П
080 50 P 208 D0 Р
081 51 Q 209 D1 З
082 52 R 210 D2 Т
083 53 S 211 D3 У
084 54 T 212 D4 Ф
085 55 U 213 D5 Х
086 56 V 214 D6 Ц
087 57 W 215 D7 Ч
088 58 X 216 D8 Ш
089 59 Y 217 D9 Щ
090 5AZ 218 DA Ъ
091 5B[ 219 DB Ы
092 5C\ 220 DC Ь
093 5D] 221 DD Е
094 5E^ 222 DE Ю
095 5F_ 223 DF Я
096 60 ` 224 E0 а
097 61 a 225 E1 б
098 62 b 226 E2 в
099 63 c 227 E3 г
100 64 d 228 E4 д
101 65 e 229 E5 е
102 66 f 230 E6 ж
103 67 g 231 E7 з
104 68 h 232 E8 і
105 69 i 233 E9 й
106 6Aj 234 EA до
107 6Bk 235 EB л
108 6Cl 236 EC м
109 6Dm 237 ED н
110 6En 238 EE о
111 6Fo 239 EF п
112 70 p 240 F0 р
113 71 q 241 F1 з
114 72 r 242 F2 т
115 73 s 243 F3 у
116 74 t 244 F4 ф
117 75 u 245 F5 х
118 76 v 246 F6 ц
119 77 w 247 F7 год
120 78 x 248 F8 ш
121 79 y 249 F9 щ
122 7Az 250 FA ъ
123 7B{ 251 FB ы
124 7C| 252 FC ь
125 7D} 253 FD е
126 7E~ 254 FE ю
127 7FDEL 255 FF я

Опис спеціальних (керуючих) символів

Спочатку керуючі символи таблиці ASCII (діапазон 00-31 плюс 127) були розроблені для того, щоб керувати пристроями апаратних засобів, таких як телетайп, введення даних на перфострічку та ін.
Керуючі символи (крім горизонтальної табуляції, перекладу рядка та повернення каретки) не використовуються у HTML-документах.

Спеціальні (керуючі) символи

Код Опис
NUL, 00Null, порожній
SOH, 01Start Of Heading, початок заголовка
STX, 02Start of TeXt, початок тексту
ETX, 03End of TeXt, кінець тексту
EOT, 04End of Transmission, кінець передачі
ENQ, 05Enquire. Прошу підтвердження
ACK, 06Висновокзнання. Підтверджую
BEL, 07Bell, дзвінок
BS, 08Backspace, повернення на один символ назад
TAB, 09Tab, горизонтальна табуляція
LF, 0ALine Feed, переклад рядка
Зараз у більшості мов програмування позначається як \n
VT, 0BVertical Tab, вертикальна табуляція
FF, 0CForm Feed, прогін сторінки, нова сторінка
CR, 0DCarriage Return, повернення каретки
Зараз у більшості мов програмування позначається як \r
SO, 0EShift Out, змінити колір фарбуючої стрічки в принтері.
SI, 0FShift In, повернути колір фарбуючої стрічки в принтері назад
DLE, 10Data Link Escape, перемикання каналу передачі даних
DC1, 11
DC2, 12
DC3, 13
DC4, 14
Device Control, символи керування пристроями
NAK, 15Negative Acknowledgment, не підтверджую
SYN, 16Synchronization. Символ синхронізації
ETB, 17End of Text Block, кінець текстового блоку
CAN, 18Cancel, скасування переданого раніше
EM, 19End of Medium, кінець носія даних
SUB, 1ASubstitute, підставити. Ставиться дома символу, значення якого було втрачено чи зіпсовано під час передачі
ESC, 1BEscape Керуюча послідовність
FS, 1CFile Separator, роздільник файлів
GS, 1DGroup Separator, роздільник груп
RS, 1ERecord Separator, роздільник записів
US, 1FUnit Separator, роздільник юнітів
DEL, 7FDelete, стерти останній символ.

Іноді внаслідок тих чи інших причин у користувачів ОС Windows трапляється щось таке, що призводить до збою кодувань. Якась нововстановлена ​​програма, вірус, маніпуляції в реєстрі, мало що… Ось злетіли кодування і все-тут!

Днями у мене теж трапилася подібна річ. У деяких русифікованих програмах частина написів інтерфейсу стала виглядати так, ніби замість літер туди вставили відбитки птахів.

Скажу чесно, я витратив на пошук вирішення проблеми майже два дні. На всіх форумах і сервісах «питань і відповідей», у всіх мануалах та інструкціях, всі як один повторювали той же рецепт рішення, який можливо комусь і допоміг. Та не мені. І тільки коли мої мізки вже почали закипати і всяка надія на вирішення проблеми покинула мене, все стало на свої місця.

Результати ж пошуків я вирішив оформити в Універсальний посібник із вирішення всіх проблем з кодуванням в операційних системах Windows XP та Windows Vista/7». Хоча можливо воно не таке вже й універсальне… ;)

Вирішення проблем із кодуванням у Windows XP:

Пункт 1. Спочатку потрібно переконатися, що для програм, що не підтримують Юнікод, встановлено російську мову.

Відкриваємо « Панель управління» і двічі клацаємо по іконці « » . Переходимо у вкладку « Додатково» « ».

Після цього знайдіть у списку, який розміщений на цій вкладці пункт 20880 і поставте біля нього галочку:

Пункт 2. Можливо, проблеми з кодуванням викликані порушенням системних налаштувань шрифтів.

Для відновлення налаштувань шрифтів завантажте цей архів


Пункт 3. Наступний етап – зміна ключів реєстру, які відповідають за кодування.Робити ці зміни бажано лише в крайньому випадку і лише якщо всі попередні пункти ні до чого не спричинили.

цей архів

Вирішення проблем із кодуванням у Windows Vista/7:

1. Як і у випадку з Windows XP спочатку переконайтеся, що для програм, що не підтримують Юнікод, встановлена ​​російська мова.

Відкриваємо « Панель управління» і двічі клацаємо по іконці « Мова та регіональні стандарти» . Переходимо у вкладку « Додатково» і встановлюємо російську мову як « Мова програм, що не підтримують Юнікод»:

Збережіть зміни та перезавантажте комп'ютер. Якщо проблема не зникла, переходимо до пункту 2.

2. Для відновлення налаштувань шрифтів скачайте цей архів і запустіть файл, який знаходиться в ньому, ігноруючи всі попередження системи:


Перезапустіть систему. Якщо проблема не зникла, переходимо до пункту 3.

3. Наступний етап — зміна ключів реєстру, які відповідають за кодування. Робити ці зміни бажано лише в крайньому випадку і лише якщо всі попередні пункти ні до чого не спричинили.

Для виконання цих змін завантажте цей архів і запустіть файл, що знаходиться в ньому. Як і в попередньому пункті, з'являться попередження системи.

Після цих змін також потрібно буде перезапустити систему.

4. Якщо все вищезгадане не допомогло потрібно змінити імена наступних файлів кодових сторінок у папці C:\Windows\System32:

Файл « c_1252.nls» на « c_1252.nls.bak»
Файл « c_1253.nls» на « c_1253.nls.bak»
Файл « c_1254.nls» на « c_1254.nls.bak»
Файл « c_1255.nls» на « c_1255.nls.bak»

Оскільки ці файли захищені від зміни для виконання цієї операції, бажано скористатися чудовою програмою.

Як відомо, Windows 10підтримує інсталяцію мовних пакетів, за допомогою яких можна змінювати локалізацію інтерфейсу операційної системи. Із цим дуже близько пов'язане поняття системної мови. Системна мова це не та, яка була додана за допомогою мовного пакета, а та, яка була обрана при установці самої системи. Якщо ви працюєте на корпоративному комп'ютері, мова якого змінювалась за допомогою установки MUI -пакетів, можливо, ви захочете дізнатися, яка мова використовувалася в системі спочатку.

Способів визначити системну мову кілька.

Розглянемо їх у порядку.

За допомогою консольної утиліти DISM

Запустіть командний рядок від імені адміністратора і виконайте в ньому команду dism /online /get-intl . За кілька секунд отримаєте результат.

Зверніть увагу на параметр «Мова інтерфейсу користувача за замовчуванням» . Його значення і буде системною мовою.

За допомогою консолі PowerShell

Запустіть консоль від імені адміністратора та виконайте команду ::InstalleduICulture .

Значення параметру DisplayNameвказуватиме на системну мову. Зверніть увагу на параметр LCID, він містить код мови, прописаний у реєстрі Windows (див. нижче).

За допомогою редактора реєстру та таблиці декодування

Командою regeditвідкрийте редактор реєстру та розгорніть гілку

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language

У правій колонці вікна редактора знайдіть рядковий параметр (Він у самому низу)та подивіться його значення.

Воно представлене чотиризначним кодом, для розшифрування якого слід скористатися таблицею декодування на сайті MSDN. У нашому прикладі код 0419 відповідає російській мові.



Сподобалася стаття? Поділіться їй