Кодовые страницы таблиц преобразования windows

Кодовые страницы таблиц преобразования windows

Где в Windows 7 кодовые страницы таблиц преобразования находятся?


Игорь Шевченко © ( 2012-10-29 17:21 ) [1]


Scott Storch © ( 2012-10-29 17:23 ) [2]

я имею ввиду окно со списком кодировок, в Windows XP — «Язык и региональные стандарты» вкладка «Дополнительно», в Windows 7 — там такого нет


Inovet © ( 2012-10-29 17:31 ) [3]

> [2] Scott Storch © (29.10.12 17:23)

Куда делось?
Панель управления\Часы, язык и регион\Язык и региональные стандарты\Дополнительно\Изменить язык системы


QAZ5 ( 2012-10-29 17:34 ) [4]

как нет , есть кнопка «изменить язык системы»

Проблема — вместо русских символов отображаются иероглифы (программа старая, неюникодная). Выбираю «Панель управления» -> «Язык и региональные стандарты», перехожу во вкладку «Дополнительно» и устанавливаю русский язык в качестве «Языка программ, не поддерживающих Юникод». Проблема не решается? В чем может быть дело?


Dimka Maslov © ( 2012-10-29 17:48 ) [6]


> В чем может быть дело


Scott Storch © ( 2012-10-29 17:56 ) [7]

Да вряд ли, ее много лет уже юзают, подобного рода проблема была года 4 назад, тогда у человека были сброшены (не были отмечены) кодовые страницы для кириллицы.


Игорь Шевченко © ( 2012-10-29 18:06 ) [8]


> перехожу во вкладку «Дополнительно» и устанавливаю русский
> язык в качестве «Языка программ, не поддерживающих Юникод».
> Проблема не решается? В чем может быть дело?

Кодировки в Windows

В данной статье пойдёт речь о кодировках в Windows. Все в жизни хоть раз использовали и писали консольные приложения как таковые. Нету разницы для какой причины. Будь-то выбивание процесса или же просто написать «Привет. Я не могу сделать кодировку нормальной, поэтому я смотрю эту статью!».

Тем, кто ещё не понимает, о чём проблема, то вот Вам:

А тут было написано:

Но никто ничего не понял.

В любом случае в Windows до 10 кодировка BAT и других языков, не использует кодировку поддерживающую Ваш язык, поэтому все русские символы будут писаться неправильно.

1. Настройка консоли в батнике

Сразу для тех, кто пишет chcp 1251 лучше написать это:

Первый способ устранения проблемы, это Notepad++. Для этого Вам нужно открыть Ваш батник таким способом:

Не бойтесь, у Вас откроется код Вашего батника, а затем Вам нужно будет сделать следующие действия:

Если Вам ничего не помогло, то преобразуйте в UTF-8 без BOM.

2. Написание консольных программ
Нередко люди пишут консольные программы(потому что на некоторых десктопные писать невозможно), а кодировка частая проблема.

Первый способ непосредственно Notepad++, но а если нужно сначала одну кодировку, а потом другую?

Сразу для использующих chcp 1251 пишите это:

Второй способ это написать десктопную программу, или же использовать Visual Studio. Если же не помогает, то есть первое: изменение кодировки вывода(Пример на C++).

Если же не сработает:

3. Изменение chcp 1251
Если же у Вас батник, то напишите в начало:

Теперь у Нас будет нормальный вывод в консоль. На других языках (С++):

4. Сделать жизнь мёдом
При использовании данного способа Вы не сможете:

  • Разрабатывать приложения на Windows ниже 10
  • Спасти мир от данной проблемы
  • Думать о других людях
  • Разрабатывать десктопные приложения, так как Вам жизнь покажется мёдом
  • Сменить Windows на версию ниже 10
  • Ну и понимать людей, у которых Windows ниже 10

Установить Windows 10. Там кодировка консоли специально подходит для языка страны, и Вам больше не нужно будет беспокоиться об этой проблеме. Но у Вас появится ещё 6 проблем, и вернуться к предыдущей лицензионной версии Windows Вы не сможете.

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Кодовая страница Windows — Windows code page

Кодовые страницы Windows — это наборы символов или кодовых страниц (известные как кодировки символов в других операционных системах), используемые в Microsoft Windows с 1980-х и 1990-х годов. Кодовые страницы Windows постепенно вытеснялись, когда Unicode был реализован в Windows , хотя они по-прежнему поддерживаются как в Windows, так и на других платформах, и по-прежнему применяются при использовании сочетаний клавиш Alt-кода .

В системах Windows есть две группы кодовых страниц: OEM и собственные кодовые страницы Windows («ANSI»). Кодовые страницы в обеих этих группах являются расширенными кодовыми страницами ASCII .

Читайте также:  Статья как установить linux

СОДЕРЖАНИЕ

Кодовая страница ANSI

Windows-125x серии

Кодовые страницы ANSI (официально называемые «кодовыми страницами Windows» после того, как Microsoft приняла неправильное употребление первого термина) используются для приложений, не поддерживающих Unicode (скажем, ориентированных на байты ), использующих графический пользовательский интерфейс в системах Windows. «ANSI» — неправильное название, потому что поведение не совсем соответствует стандарту ANSI и потому, что в эти 8-битные кодовые страницы включены некоторые кодировки, отличные от стандарта ANSI.

Большинство устаревших кодовых страниц «ANSI» имеют номера кодовых страниц в шаблоне 125x. Тем не менее, 874 (тайский) и восточноазиатские многобайтовые кодовые страницы ANSI ( 932 , 936 , 949 , 950 ), все из которых также используются в качестве кодовых страниц OEM, пронумерованы для соответствия аналогичным (но не идентичным) кодовым страницам IBM. кодировки. Хотя кодовая страница 1258 также используется как кодовая страница OEM, она является оригинальной для Microsoft, а не расширением существующей кодировки. IBM присвоила свои собственные, разные номера вариантам Microsoft, они приведены для справки в приведенных ниже списках, где это применимо.

Все кодовые страницы Windows 125x, а также 874 и 936, помечены Internet Assigned Numbers Authority (IANA) как « номер Windows», хотя «Windows-936» рассматривается как синоним « GBK ». Кодовая страница Windows 932 вместо этого помечена как «Windows-31J».

Кодовые страницы ANSI Windows, и особенно кодовая страница 1252 , были так названы, поскольку они якобы основывались на черновиках, представленных или предназначенных для ANSI. Однако ANSI и ISO не стандартизировали ни одну из этих кодовых страниц. Вместо этого они либо:

  • Надмножества стандартных наборов, таких как ISO 8859 и различных национальных стандартов (например, Windows-1252 и ISO-8859-1 ),
  • Основные их модификации (делающие их несовместимыми в разной степени, например, Windows-1250 и ISO-8859-2 )
  • Отсутствие параллельного кодирования (например, Windows-1257 против ISO-8859-4 ; ISO-8859-13 был введен намного позже). Кроме того, Windows-1251 не следует ни ISO-стандартизированному ISO-8859-5, ни преобладающему в то время KOI-8 .

Microsoft присвоила около двенадцати типографских и деловых символов (включая, в частности, знак евро , €) в CP1252 кодовые точки 0x80–0x9F, которые в ISO 8859 присвоены управляющим кодам C1 . Эти назначения также присутствуют во многих других кодовых страницах ANSI / Windows в тех же кодовых точках. Windows не использовала управляющие коды C1, поэтому это решение не имело прямого влияния на пользователей Windows. Однако при включении в файл, передаваемый на совместимую со стандартами платформу, такую ​​как Unix или MacOS, информация была невидимой и потенциально опасной.

Кодовая страница OEM

В кодовые страницы OEM ( Original Equipment Manufacturer ) используются консольных Win32 приложений и виртуальной DOS , и может рассматриваться как пережиток от DOS и оригинальной IBM PC архитектуры. Отдельный набор кодовых страниц был реализован не только из-за совместимости, но и потому, что шрифты аппаратного обеспечения VGA (и потомков) предлагают кодирование символов рисования линий для совместимости с кодовой страницей 437 . Большинство кодовых страниц OEM имеют много общих кодовых точек, особенно для небуквенных символов, со второй (не ASCII) половиной CP437.

Типичная кодовая страница OEM во второй половине даже приблизительно не похожа ни на одну кодовую страницу ANSI / Windows. Тем не менее, две однобайтовые кодовые страницы фиксированной ширины (874 для тайского языка и 1258 для вьетнамского ) и четыре многобайтовых кодовых страницы CJK ( 932 , 936 , 949 , 950 ) используются как кодовые страницы OEM и ANSI. Кодовая страница 1258 использует комбинированные диакритические знаки , поскольку вьетнамский требует более 128 буквенно-диакритических комбинаций. Это отличается от VISCII , который заменяет некоторые управляющие коды C0 (т.е. ASCII).

История

Первоначально компьютерные системы и языки системного программирования не делали различия между символами и байтами : для сегментных сценариев, используемых в большей части Африки, Америки, Южной и Юго-Восточной Азии, Ближнего Востока и Европы, для символа требуется всего один байт. , но два или более байта необходимы для идеографических наборов, используемых в остальном мире. Впоследствии это привело к большой путанице. Программное обеспечение и системы Microsoft, предшествующие линейке Windows NT, являются примерами этого, поскольку они используют кодовые страницы OEM и ANSI, которые не делают различий.

С конца 1990-х годов программное обеспечение и системы приняли Unicode в качестве предпочтительного формата хранения; эта тенденция была улучшена благодаря широкому распространению XML , который обеспечивает более адекватный механизм для маркировки используемой кодировки. Последние продукты Microsoft и интерфейсы прикладных программ используют Unicode внутри, но многие приложения и API продолжают использовать кодировку по умолчанию «локали» компьютера при чтении и записи текстовых данных в файлы или стандартный вывод. Таким образом, файлы могут быть разборчивыми и разборчивыми в одной части мира, а моджибаке — в другой — неразборчивыми .

UTF-8, UTF-16

Microsoft решила принять 16-битную (двухбайтовую) систему UTF-16 для всех своих операционных систем, начиная с Windows NT. Этот метод однозначно кодирует все символы Unicode в базовой многоязычной плоскости и 32-битный (четырехбайтовый) код для других, но остальная часть отрасли ( Unix-подобные системы и Интернет) выбрали UTF-8 (который использует один байт для 7-битный набор символов ASCII , два или три байта для других символов в BMP и четыре байта для остатка). Начиная с Windows 10 версии 1803 , компьютеры с Windows можно настроить так, чтобы разрешить UTF-8 в качестве кодовой страницы «ANSI» и OEM.

Список

Существуют следующие кодовые страницы Windows:

Windows-125x серии

Все эти девять кодовых страниц представляют собой расширенные 8-битные кодировки SBCS ASCII и были разработаны Microsoft для использования в качестве кодовых страниц ANSI в Windows. Они широко известны по своим зарегистрированным в IANA именам как windows- , но иногда также называются cp «cp» для «кодовой страницы». Все они используются как кодовые страницы ANSI; Windows-1258 также используется в качестве кодовой страницы OEM.

Псевдоним (а) ANSI (неверное название)
Стандарт Стандарт кодирования WHATWG
Расширяется US-ASCII
Предшествует ISO 8859
Преемник Юникод
UTF-16 (в Win32 API)
Я БЫ Описание Связь с ISO 8859 или другими установленными кодировками
1250 Latin 2 / Центральноевропейская Аналогичен ISO-8859-2, но перемещает несколько символов, включая несколько букв.
1251 Кириллица Несовместим как с ISO-8859-5, так и с KOI-8 .
1252 Латиница 1 / западноевропейская Расширенный набор ISO-8859-1 (без элементов управления C1). Буквенный репертуар соответственно аналогичен CP850 .
1253 Греческий Аналогичен ISO 8859-7, но перемещает несколько символов, включая букву.
1254 турецкий Расширенный стандарт ISO 8859-9 (без элементов управления C1).
1255 иврит Практически надмножество ISO 8859-8 , но с двумя несовместимыми изменениями пунктуации.
1256 арабский Несовместимо с ISO 8859-6 ; кодовая страница OEM 708 скорее является расширенным набором ISO 8859-6 (ASMO 708).
1257 Балтийский Не ISO 8859-4 ; более поздний ISO 8859-13 тесно связан, но с некоторыми отличиями в доступной пунктуации.
1258 Вьетнамский (также OEM) Не связано с VSCII или VISCII , использует меньшее количество базовых символов с диакритическими знаками , сочетающих.

Кодовые страницы DOS

Они также основаны на ASCII. Большинство из них включены для использования в качестве кодовых страниц OEM; кодовая страница 874 также используется как кодовая страница ANSI.

  • 437 — IBM PC US, 8-битный расширенный ASCIISBCS . Кодировка основного встроенного шрифта видеокарт VGA, известная как OEM-US.
  • 708 — арабский, расширенный ISO 8859-6 (ASMO 708)
  • 720 — арабский, сохраняя символы рисования прямоугольников на их обычных местах
  • 737 — «MS-DOS греческий». Сохраняет все символы рисования прямоугольников. Популярнее, чем 869.
  • 775 — «MS-DOS Балтийский край»
  • 850 — «MS-DOS Latin 1». Полный (переработанный) репертуар ISO 8859-1 .
  • 852 — «MS-DOS Latin 2»
  • 855 — «Кириллица MS-DOS». В основном используется для южнославянских языков . Включает (реорганизованный) репертуар ISO-8859-5 . Не путать с cp866.
  • 857 — «MS-DOS Турецкий»
  • 858 — Западноевропейский со знаком евро
  • 860 — «Португальский MS-DOS»
  • 861 — «Исландский MS-DOS»
  • 862 — «Еврейский MS-DOS»
  • 863 — «MS-DOS Французская Канада»
  • 864 — арабский
  • 865 — «MS-DOS Nordic»
  • 866 — «MS-DOS Кириллица русская», cp866. Единственная кодовая страница исключительно OEM (а не ANSI или оба), включенная в качестве устаревшей кодировки в WHATWG Encoding Standard для HTML5 .
  • 869 — «MS-DOS Greek 2», IBM869. Полный (переработанный) репертуар ISO 8859-7 .
  • 874 — Тайский язык , также используемый в качестве кодовой страницы ANSI, расширяет ISO 8859-11 (и, следовательно, TIS-620 ) несколькими дополнительными символами из Windows-1252. Соответствует кодовой странице IBM 1162 (IBM-874 аналогична, но имеет другие расширения).

Многобайтовые кодовые страницы Восточной Азии

Часто они лишь частично совпадают с кодовыми страницами IBM с одним и тем же номером: кодовые страницы 932, 936 и 949 отличаются от кодовых страниц IBM с тем же номером, тогда как Windows-951, как часть кладжа , не связана с IBM-951. Эквивалентные кодовые страницы IBM приведены во втором столбце. Кодовые страницы 932, 936, 949 и 950/951 используются в качестве кодовых страниц как ANSI, так и OEM для рассматриваемых локалей.

Я БЫ Эквивалент IBM Язык Кодирование Использовать
932 943 Японский Shift JIS (вариант Microsoft) ANSI / OEM (Япония)
936 1386 Китайский упрощенный) ГБК ANSI / OEM (КНР, Сингапур)
949 1363 Корейский Единый код хангыль ANSI / OEM (Республика Корея)
950 1370, 1373 Китайский традиционный) Big5 (вариант Microsoft) ANSI / OEM (Тайвань, Гонконг)
951 5471 Китайский традиционный) Big5-HKSCS (изд. 2001 г.) ANSI / OEM (Гонконг, 98 / NT4 / 2000 / XP с патчем HKSCS)

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

Я БЫ Эквивалент IBM Язык Кодирование Использовать
1361 Корейский Джохаб (KS C 5601-1992, приложение 3) Преобразование
20000 964 Китайский традиционный) CNS 11643 Преобразование
20001 Китайский традиционный) TCA Преобразование
20002 Китайский традиционный) Big5 (вариант ETEN) Преобразование
20003 ? Китайский традиционный) IBM 5500 Преобразование
20004 Китайский традиционный) Телетекст Преобразование
20005 Китайский традиционный) Ван Преобразование
20932 , 51932 954 (примерно) Японский EUC-JP Преобразование
20936 , 51936 Китайский упрощенный) GB2312 Преобразование
20949 , 51949 Корейский Wansung (8-битный с ASCII, т.е. EUC-KR ) Преобразование

Кодовые страницы EBCDIC

  • 37 — IBM EBCDIC США-Канада, 8-битный SBCS
  • 500 — латиница 1
  • 870 — IBM870
  • 875 — cp875
  • 1026 — EBCDIC Турецкий
  • 1047 — IBM01047 — Латиница 1
  • 1140 — IBM01141
  • 1141 — IBM01141
  • 1142 — IBM01142
  • 1143 — IBM01143
  • 1144 — IBM01144
  • 1145 — IBM01145
  • 1146 — IBM01146
  • 1147 — IBM01147
  • 1148 — IBM01148
  • 1149 — IBM01149
  • 20273 — EBCDIC Германия
  • 20277 — EBCDIC Дания / Норвегия
  • 20278 — EBCDIC Финляндия / Швеция
  • 20280 — EBCDIC Италия
  • 20284 — EBCDIC Латинская Америка / Испания
  • 20285 — EBCDIC Соединенное Королевство
  • 20290 — EBCDIC японский
  • 20297 — EBCDIC Франция
  • 20420 — EBCDIC арабский
  • 20423 — EBCDIC Греческий
  • 20424 — x-EBCDIC-KoreanExtended
  • 20833 — корейский
  • 20838 — EBCDIC тайский
  • 20924 — IBM00924 — IBM EBCDIC Latin 1 / Открытая система (1047 + символ евро)
  • 20871 — исландский EBCDIC
  • 20880 — EBCDIC кириллица
  • 20905 — EBCDIC Турецкий
  • 21025 — EBCDIC кириллица
  • 21027 — японский EBCDIC (неполный, не рекомендуется)

Кодовые страницы, связанные с Unicode

  • 1200 — Юникод (BMP по ISO 10646, UTF-16LE ). Доступно только для управляемых приложений
  • 1201 — Юникод ( UTF-16BE ). Доступно только для управляемых приложений
  • 12000 — UTF-32 . Доступно только для управляемых приложений
  • 12001 — UTF-32 . С прямым порядком байтов. Доступно только для управляемых приложений
  • 65000 — Юникод ( UTF-7 )
  • 65001 — Юникод ( UTF-8 )

Кодовые страницы совместимости с Macintosh

  • 10000 — Apple Macintosh Роман
  • 10001 — Apple Macintosh на японском языке
  • 10002 — Apple Macintosh Chinese (традиционный) (BIG-5)
  • 10003 — Apple Macintosh корейский
  • 10004 — Apple Macintosh на арабском языке
  • 10005 — Apple Macintosh на иврите
  • 10006 — Apple Macintosh греческий
  • 10007 — кириллица Apple Macintosh
  • 10008 — Apple Macintosh китайский (упрощенный) (GB 2312)
  • 10010 — Apple Macintosh на румынском языке
  • 10017 — Apple Macintosh украинский
  • 10021 — Apple Macintosh Thai
  • 10029 — Apple Macintosh Roman II / Центральная Европа
  • 10079 — Исландский Apple Macintosh
  • 10081 — Apple Macintosh Турецкий
  • 10082 — Apple Macintosh хорватский

Кодовые страницы ISO 8859

  • 28591 — ISO-8859-1 — Latin-1 (эквивалент IBM: 819)
  • 28592 — ISO-8859-2 — Latin-2
  • 28593 — ISO-8859-3 — Latin-3 или южноевропейский
  • 28594 — ISO-8859-4 — Latin-4 или североевропейский
  • 28595 — ISO-8859-5 — Латиница / кириллица
  • 28596 — ISO-8859-6 — Латинский / арабский
  • 28597 — ISO-8859-7 — Латинский / греческий
  • 28598 — ISO-8859-8 — Латинский / Иврит
  • 28599 — ISO-8859-9 — Latin-5 или турецкий
  • 28600 — ISO-8859-10 — Latin-6
  • 28601 — ISO-8859-11 — Латинский / тайский
  • 28602 — ISO-8859-12 — зарезервировано для латиницы / деванагари, но заброшено (не поддерживается)
  • 28603 — ISO-8859-13 — Latin-7 или Baltic Rim
  • 28604 — ISO-8859-14 — Latin-8 или кельтский
  • 28605 — ISO-8859-15 — Latin-9
  • 28606 — ISO-8859-16 — Latin-10 или Юго-Восточная Европа
  • 38596 — ISO-8859-6- I — Латинский / арабский (логический двунаправленный порядок)
  • 38598 — ISO-8859-8- I — Латинский / иврит (логический двунаправленный порядок)

Кодовые страницы ITU-T

  • 20105 — 7-битный IA5IRV (западноевропейский)
  • 20106 — 7-битный IA5 немецкий (DIN 66003)
  • 20107 — 7-битный IA5 шведский (SEN 850200 C)
  • 20108 — 7-битный норвежский IA5 (NS 4551-2)
  • 20127 — 7-битный US-ASCII
  • 20261 — T.61 (T.61-8bit)
  • 20269 — ISO-6937

Кодовые страницы KOI8

  • 20866 — Русский — КОИ8-Р
  • 21866 — украинский — КОИ8-У (или КОИ8-РУ в некоторых вариантах)

Проблемы, возникающие при использовании кодовых страниц

Microsoft настоятельно рекомендует использовать Unicode в современных приложениях, но многие приложения или файлы данных по-прежнему зависят от устаревших кодовых страниц.

  • Программы должны знать, какую кодовую страницу использовать, чтобы правильно отображать содержимое файлов (до Unicode). Если программа использует неправильную кодовую страницу, она может отображать текст как моджибаке .
  • Используемая кодовая страница может отличаться на разных машинах, поэтому файлы (до Unicode), созданные на одной машине, могут быть нечитаемыми на другой.
  • Данные часто неправильно помечены кодовой страницей или вообще не помечены, что затрудняет определение правильной кодовой страницы для чтения данных.
  • Эти кодовые страницы Microsoft в разной степени отличаются от некоторых стандартов и реализаций других поставщиков. Это не проблема Microsoft как таковая , как это происходит со всеми поставщиками, но отсутствие согласованности делает взаимодействие с другими системами в некоторых случаях ненадежным.
  • Использование кодовых страниц ограничивает набор символов, которые могут использоваться.
  • Символы, выраженные в неподдерживаемой кодовой странице, могут быть преобразованы в вопросительные знаки (?) Или другие заменяющие символы или в более простую версию (например, удаление диакритических знаков из буквы). В любом случае исходный персонаж может быть утерян.
Оцените статью
Adblock
detector