Windows 1251 сколько байт на символ

За что отвечает кодировка Windows 1251 и что делает если она слетела в командной строке! Сегодня вы узнаете все о кодировке 1251 в Виндовс!

В начале 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. Текущий сеанс будет работать корректно. А вот чтобы исправить ошибку кардинально, понадобится реестр.

  1. Нажмите Win+R и наберите команду regedit. Это позволит попасть в редактор реестра.
  2. Перейдите по ветке HKEY_CURRENT_USERConsole и посмотрите, чему равно значение для CodePage. Скорее всего, вы увидите что-то, отличное от 866 (правильный вариант).
  3. Исправьте на 866 в положении «Десятичная».
  4. Закройте и откройте вновь командную строку. Ситуация должна исправиться.

Отличного Вам дня!

From Wikipedia, the free encyclopedia

(Redirected from Win1251)

Windows-1251

MIME / IANA windows-1251
Alias(es) cp1251 (Code page 1251)
Language(s) Russian, Ukrainian, Belarusian, Bulgarian, Serbian Cyrillic, Bosnian Cyrillic, Macedonian, Rotokas, Rusyn, English
Created by Microsoft
Standard WHATWG Encoding Standard
Classification extended ASCII, Windows-125x
Other related encoding(s) Amiga-1251, KZ-1048,
RFC 1345’s «ECMA-Cyrillic»
  • v
  • t
  • e

Windows-1251 is an 8-bit character encoding, designed to cover languages that use the Cyrillic script such as Russian, Ukrainian, Belarusian, Bulgarian, Serbian Cyrillic, Macedonian and other languages.

On the web, it is the second most-used single-byte character encoding (or third most-used character encoding overall), and most used of the single-byte encodings supporting Cyrillic. As of November 2022, 0.4% of all websites use Windows-1251.[1][2] It’s by far mostly used for Russian, while a small minority of Russian websites use it, with 93.7% of Russian (.ru) websites using UTF-8,[3][4][5] and the legacy 8-bit encoding is distant second. In Linux, the encoding is known as cp1251.[6] IBM uses code page 1251 (CCSID 1251 and euro sign extended CCSID 5347) for Windows-1251.[7][8][9][10][11][12][13]

Windows-1251 and KOI8-R (or its Ukrainian variant KOI8-U) are much more commonly used than ISO 8859-5 (which is used by less than 0.0004% of websites).[14] In contrast to Windows-1252 and ISO 8859-1, Windows-1251 is not closely related to ISO 8859-5.

Unicode (e.g. UTF-8) is preferred to Windows-1251 or other Cyrillic encodings in modern applications, especially on the Internet, making UTF-8 the dominant encoding for web pages. (For further discussion of Unicode’s complete coverage, of 436 Cyrillic letters/code points, including for Old Cyrillic, and how single-byte character encodings, such as Windows-1251 and KOI8-R, cannot provide this, see Cyrillic script in Unicode.)

Character set[edit]

The following table shows Windows-1251. Each character is shown with its Unicode equivalent and its Alt code.

Windows-1251[15]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
1x DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2x  SP  ! » # $ % & ( ) * + , . /
3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z [ ] ^ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z { | } ~ DEL
8x Ђ Ѓ ѓ Љ Њ Ќ Ћ Џ
9x ђ љ њ ќ ћ џ
Ax NBSP Ў ў Ј ¤ Ґ ¦ § Ё © Є « ¬ SHY ® Ї
Bx ° ± І і ґ µ · ё є » ј Ѕ ѕ ї
Cx А Б В Г Д Е Ж З И Й К Л М Н О П
Dx Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
Ex а б в г д е ж з и й к л м н о п
Fx р с т у ф х ц ч ш щ ъ ы ь э ю я

Kazakh variant[edit]

An altered version of Windows-1251 was standardised in Kazakhstan as Kazakh standard STRK1048, and is known by the label KZ-1048. It differs in the rows shown below:

KZ-1048 (STRK1048-2002)[16]
0 1 2 3 4 5 6 7 8 9 A B C D E F
8x Ђ Ѓ ѓ Љ Њ Қ Һ Џ
9x ђ љ њ қ һ џ
Ax NBSP Ұ ұ Ә ¤ Ө ¦ § Ё © Ғ « ¬ SHY ® Ү
Bx ° ± І і ө µ · ё ғ » ә Ң ң ү

  Differences from Windows-1251

Amiga variant[edit]

Amiga-1251

MIME / IANA Amiga-1251
Alias(es) Ami1251
Language(s) English, Russian
Classification extended ASCII
Based on Windows-1251, ISO-8859-1, ISO-8859-15
  • v
  • t
  • e

Russian Amiga OS systems used a version of code page 1251 which matches Windows-1251 for the Russian subset of the Cyrillic letters, but otherwise mostly follows ISO-8859-1. This version is known as Amiga-1251,[17] under which name it is registered with the IANA.[18]

Amiga-1251[17]
0 1 2 3 4 5 6 7 8 9 A B C D E F
8x XXX XXX BPH NBH IND NEL SSA ESA HTS HTJ VTS PLD PLU RI SS2 SS3
9x DCS PU1 PU2 STS CCH MW SPA EPA SOS XXX SCI CSI ST OSC PM APC
Ax NBSP ¡ ¢ £ [a] ¥ ¦ § Ё © [b] « ¬ SHY ® ¯
Bx ° ± ² ³ ´ µ · ё ¹ º » ¼ ½ ¾ ¿

  Different from Windows-1251 to match ISO-8859-1

  Different from both Windows-1251 and ISO-8859-1

  1. ^ Matching ISO-8859-15; at a different location than in Windows-1251
  2. ^ Present in Windows-1251, but in a different location (absent from ISO-8859-1/15)

See also[edit]

  • Latin script in Unicode
  • Unicode
  • Universal Character Set
    • European Unicode subset (DIN 91379)
  • UTF-8

References[edit]

  1. ^ «Historical trends in the usage of character encodings, November 2022». Retrieved 2022-11-28.
  2. ^ «Frequently Asked Questions».
  3. ^ «Distribution of Character Encodings among websites that use .ru». w3techs.com. Retrieved 2022-11-28.
  4. ^ «Distribution of Character Encodings among websites that use Russian». w3techs.com. Retrieved 2023-01-16.
  5. ^ «Distribution of Character Encodings among websites that use Russian Federation». w3techs.com. Retrieved 2021-11-05.
  6. ^ «cp1251(7) — Linux manual page». man7.org. Retrieved 2018-07-01.
  7. ^ «Code page 1251 information document». Archived from the original on 2016-03-03.
  8. ^ «CCSID 1251 information document». Archived from the original on 2014-11-29.
  9. ^ «CCSID 5347 information document». Archived from the original on 2014-11-29.
  10. ^ Code Page CPGID 01251 (pdf) (PDF), IBM
  11. ^ Code Page CPGID 01251 (txt), IBM
  12. ^ International Components for Unicode (ICU), ibm-1251_P100-1995.ucm, 2002-12-03
  13. ^ International Components for Unicode (ICU), ibm-5347_P100-1998.ucm, 2002-12-03
  14. ^ «Usage Statistics of Character Encodings for Websites». w3techs.com. Archived from the original on 2012-05-30.
  15. ^ Steele, Shawn (1998). CP1251 to Unicode table. Unicode Consortium. CP1251.TXT.
  16. ^ Whistler, Ken (2007). KZ-1048 to Unicode. Unicode Consortium. KZ1048.TXT.
  17. ^ a b Malyshev, Michael (2003). «Amiga-1251 to Unicode table». Registration of new charset [Amiga-1251]. IANA.
  18. ^ «Character Sets». IANA.

Further reading[edit]

  • Kornai, Andras; Birnbaum, David J.; da Cruz, Frank; Davis, Bur; Fowler, George; Paine, Richard B.; Paperno, Slava; Simonsen, Keld J.; Thobe, Glenn E.; Vulis, Dimitri; van Wingen, Johan W. (1993-03-13). «CYRILLIC ENCODING FAQ Version 1.3». Retrieved 2020-06-24.

External links[edit]

  • Windows 1251 reference chart
  • IANA Charset Name Registration
  • Unicode mappings of windows 1251 with «best fit»
  • Universal Cyrillic decoder, an online program that may help recovering unreadable Cyrillic texts with broken Windows-1251 or other character encodings.

From Wikipedia, the free encyclopedia

(Redirected from Win1251)

Windows-1251

MIME / IANA windows-1251
Alias(es) cp1251 (Code page 1251)
Language(s) Russian, Ukrainian, Belarusian, Bulgarian, Serbian Cyrillic, Bosnian Cyrillic, Macedonian, Rotokas, Rusyn, English
Created by Microsoft
Standard WHATWG Encoding Standard
Classification extended ASCII, Windows-125x
Other related encoding(s) Amiga-1251, KZ-1048,
RFC 1345’s «ECMA-Cyrillic»
  • v
  • t
  • e

Windows-1251 is an 8-bit character encoding, designed to cover languages that use the Cyrillic script such as Russian, Ukrainian, Belarusian, Bulgarian, Serbian Cyrillic, Macedonian and other languages.

On the web, it is the second most-used single-byte character encoding (or third most-used character encoding overall), and most used of the single-byte encodings supporting Cyrillic. As of November 2022, 0.4% of all websites use Windows-1251.[1][2] It’s by far mostly used for Russian, while a small minority of Russian websites use it, with 93.7% of Russian (.ru) websites using UTF-8,[3][4][5] and the legacy 8-bit encoding is distant second. In Linux, the encoding is known as cp1251.[6] IBM uses code page 1251 (CCSID 1251 and euro sign extended CCSID 5347) for Windows-1251.[7][8][9][10][11][12][13]

Windows-1251 and KOI8-R (or its Ukrainian variant KOI8-U) are much more commonly used than ISO 8859-5 (which is used by less than 0.0004% of websites).[14] In contrast to Windows-1252 and ISO 8859-1, Windows-1251 is not closely related to ISO 8859-5.

Unicode (e.g. UTF-8) is preferred to Windows-1251 or other Cyrillic encodings in modern applications, especially on the Internet, making UTF-8 the dominant encoding for web pages. (For further discussion of Unicode’s complete coverage, of 436 Cyrillic letters/code points, including for Old Cyrillic, and how single-byte character encodings, such as Windows-1251 and KOI8-R, cannot provide this, see Cyrillic script in Unicode.)

Character set[edit]

The following table shows Windows-1251. Each character is shown with its Unicode equivalent and its Alt code.

Windows-1251[15]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
1x DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2x  SP  ! » # $ % & ( ) * + , . /
3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z [ ] ^ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z { | } ~ DEL
8x Ђ Ѓ ѓ Љ Њ Ќ Ћ Џ
9x ђ љ њ ќ ћ џ
Ax NBSP Ў ў Ј ¤ Ґ ¦ § Ё © Є « ¬ SHY ® Ї
Bx ° ± І і ґ µ · ё є » ј Ѕ ѕ ї
Cx А Б В Г Д Е Ж З И Й К Л М Н О П
Dx Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
Ex а б в г д е ж з и й к л м н о п
Fx р с т у ф х ц ч ш щ ъ ы ь э ю я

Kazakh variant[edit]

An altered version of Windows-1251 was standardised in Kazakhstan as Kazakh standard STRK1048, and is known by the label KZ-1048. It differs in the rows shown below:

KZ-1048 (STRK1048-2002)[16]
0 1 2 3 4 5 6 7 8 9 A B C D E F
8x Ђ Ѓ ѓ Љ Њ Қ Һ Џ
9x ђ љ њ қ һ џ
Ax NBSP Ұ ұ Ә ¤ Ө ¦ § Ё © Ғ « ¬ SHY ® Ү
Bx ° ± І і ө µ · ё ғ » ә Ң ң ү

  Differences from Windows-1251

Amiga variant[edit]

Amiga-1251

MIME / IANA Amiga-1251
Alias(es) Ami1251
Language(s) English, Russian
Classification extended ASCII
Based on Windows-1251, ISO-8859-1, ISO-8859-15
  • v
  • t
  • e

Russian Amiga OS systems used a version of code page 1251 which matches Windows-1251 for the Russian subset of the Cyrillic letters, but otherwise mostly follows ISO-8859-1. This version is known as Amiga-1251,[17] under which name it is registered with the IANA.[18]

Amiga-1251[17]
0 1 2 3 4 5 6 7 8 9 A B C D E F
8x XXX XXX BPH NBH IND NEL SSA ESA HTS HTJ VTS PLD PLU RI SS2 SS3
9x DCS PU1 PU2 STS CCH MW SPA EPA SOS XXX SCI CSI ST OSC PM APC
Ax NBSP ¡ ¢ £ [a] ¥ ¦ § Ё © [b] « ¬ SHY ® ¯
Bx ° ± ² ³ ´ µ · ё ¹ º » ¼ ½ ¾ ¿

  Different from Windows-1251 to match ISO-8859-1

  Different from both Windows-1251 and ISO-8859-1

  1. ^ Matching ISO-8859-15; at a different location than in Windows-1251
  2. ^ Present in Windows-1251, but in a different location (absent from ISO-8859-1/15)

See also[edit]

  • Latin script in Unicode
  • Unicode
  • Universal Character Set
    • European Unicode subset (DIN 91379)
  • UTF-8

References[edit]

  1. ^ «Historical trends in the usage of character encodings, November 2022». Retrieved 2022-11-28.
  2. ^ «Frequently Asked Questions».
  3. ^ «Distribution of Character Encodings among websites that use .ru». w3techs.com. Retrieved 2022-11-28.
  4. ^ «Distribution of Character Encodings among websites that use Russian». w3techs.com. Retrieved 2023-01-16.
  5. ^ «Distribution of Character Encodings among websites that use Russian Federation». w3techs.com. Retrieved 2021-11-05.
  6. ^ «cp1251(7) — Linux manual page». man7.org. Retrieved 2018-07-01.
  7. ^ «Code page 1251 information document». Archived from the original on 2016-03-03.
  8. ^ «CCSID 1251 information document». Archived from the original on 2014-11-29.
  9. ^ «CCSID 5347 information document». Archived from the original on 2014-11-29.
  10. ^ Code Page CPGID 01251 (pdf) (PDF), IBM
  11. ^ Code Page CPGID 01251 (txt), IBM
  12. ^ International Components for Unicode (ICU), ibm-1251_P100-1995.ucm, 2002-12-03
  13. ^ International Components for Unicode (ICU), ibm-5347_P100-1998.ucm, 2002-12-03
  14. ^ «Usage Statistics of Character Encodings for Websites». w3techs.com. Archived from the original on 2012-05-30.
  15. ^ Steele, Shawn (1998). CP1251 to Unicode table. Unicode Consortium. CP1251.TXT.
  16. ^ Whistler, Ken (2007). KZ-1048 to Unicode. Unicode Consortium. KZ1048.TXT.
  17. ^ a b Malyshev, Michael (2003). «Amiga-1251 to Unicode table». Registration of new charset [Amiga-1251]. IANA.
  18. ^ «Character Sets». IANA.

Further reading[edit]

  • Kornai, Andras; Birnbaum, David J.; da Cruz, Frank; Davis, Bur; Fowler, George; Paine, Richard B.; Paperno, Slava; Simonsen, Keld J.; Thobe, Glenn E.; Vulis, Dimitri; van Wingen, Johan W. (1993-03-13). «CYRILLIC ENCODING FAQ Version 1.3». Retrieved 2020-06-24.

External links[edit]

  • Windows 1251 reference chart
  • IANA Charset Name Registration
  • Unicode mappings of windows 1251 with «best fit»
  • Universal Cyrillic decoder, an online program that may help recovering unreadable Cyrillic texts with broken Windows-1251 or other character encodings.

Отличие utf-8 и windows 1251. Рассмотрим, чем отличаются две кодировки «utf-8 и windows 1251» в теории и на практике. И как победить некоторые проблемы для кириллицы в utf-8!?

  • О кодировках utf-8 и windows 1251

    Самое главное. что нас интересует, как и меня — в чем же отличие кодировок utf-8 и windows 1251. И отличается только кириллица!

    Чем отличаются utf-8 и windows 1251

    UTF-8 — это много-байтовая кодировка, а Windows- 1251 однобайтовая. И более того, отличие только в кириллице.

    Количество байтов кириллицы в UTF-8 будет в 2 раза больше, чем 1). латиницы в UTF-8 и 2). латиницы + кириллицы в Windows- 1251 → пример

    Главное отличие кодировок – это используемый набор символов. В UTF-8 гораздо больше количество символов возможно представить, чем в Windows- 1251. Кодировка Windows- 1251 однобайтовая, т.е. представить в ней можно только 255 символов. Для кириллицы, впрочем, этого вполне достаточно, именно поэтому однобайтовые кодировки до сих пор так массово применяются.

    Что такое кодировка windows 1251

    Windows-1251 – набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для всех русских версий Microsoft Windows. Пользуется довольно большой популярностью. Windows-1251 выгодно отличается от других 8‑битных кириллических кодировок (таких как CP866, KOI8-R и ISO 8859-5) наличием практически всех символов, использующихся в русской типографике для обычного текста; она также содержит все символы для близких к русскому языку языков: украинского, белорусского, сербского и болгарского.

    Что такое кодировка UTF-8

    UTF-8 – в настоящее время распространённая кодировка, реализующая представление Юникода, совместимое с 8-битным кодированием текста. Нашла широкое применение в операционных системах и веб-пространстве. Текст, состоящий только из символов Юникода с номерами меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байт.

    Символ в кодировке UTF-8 может кодироваться аж 6 байтами (пока используется только 4 и больше не планируется). Для русского языка, например, символ занимает 2 байта. Все символы, которые есть в таблице символов – поддерживаются этой кодировкой. К примеру, если вам нужен знак копирайта (©), то вам не нужно искать особый шрифт или же изображать символов в графическом формате.

  • Пример вывода текста в кодировках utf-8 латиницы

    Когда и если вы прочитали теорию о разнице кодировок utf-8 и windows 1251 — это уже победа! wall
    смайлы

    А если вы еще и поняли о чем идет речь, то вы вообще Эйнштейн! good
    смайлы, то и смысла особого вам читать дальше нет.

    А для всех остальных продолжим…

    Чем отличается текст в кодировках utf-8 и windows 1251

    Теория — это конечно классно и круто, но как обстоит дело на практике!

    Как показать отличие двух кодировок!?

    У нас на сайте основная кодировка utf-8, и мы не напрягаясь можем посмотреть, что творится с текстом в этой кодировке!

    Нам понадобится какой-то текст на латинице:

    И… нам нужно такое слово, чтобы имело одинаковое количество букв в слове, ну пусть это будет моё имя…

    Пусть это будет слово — «Marat!»

    Далее нам потребуется функция var_dump.

    И выведем прямо здесь вот такую конструкцию :

    var_dump(‘Marat’);

    Результат:

    string(5) «Marat»

    Что мы здесь можем прочитать!?

    Что это строка, и что в ней 5 элементов.

  • Пример вывода текста в кодировках utf-8 кириллицы

    Теперь, проделаем тоже самое со строкой на кириллице:

    У нас все таже кодировка utf-8.

    Но теперь нам понадобится текст на кириллице:

    Пусть это будет слово — «Марат!»

    Опять var_dump.

    И выведем прямо здесь вот такую конструкцию :

    var_dump(‘Марат’);

    Результат:

    string(10) «Марат»

    И что мы здесь видим!?

    Что количество элементов в строке 10… Если вы читали теорию внимательно, то вот вам показатель того, что одна буква состоит из двух символов, а латиницы это не касается…!

    Поэтому, и возникают проблемы с текстом в кодировке utf-8 кириллицы, множество функций тупо не работают.

    Как пример…как-то я задолбался со strtolower в utf-8 для кириллицы, что решил написать собственную функцию strtolower, чтобы каждый раз не городить этажерку из нескольких функций…

  • Пример отличия в кодировках utf-8 и windows 1251

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

    Результат вывода var_dump(‘Marat’);:
    string(5) «Marat»

    Результат var_dump(‘Марат’);:
    string(10) «Марат»

    Что делать, если функция для кириллицы на utf-8 не работают?

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

    Но если уж она возникала, то есть несколько вариантов решения!

    Это функции с приставкой «mb_», естественно надо проверять, работает ли она у вас на хостинге.

    Второй вариант, это написать собственную функцию, которая будет работать и для латиницы и кириллицы? как это я показал на функции strtolower

    И третий вариант перекодировать строку из utf-8 в windows 1251

    Рассмотрим, первый попавшийся на ум пример…

    Пусть это будет функция str_split и её аналог mb_str_split

    print_r (str_split(‘Марат’)); выдаст :

    Array

    (

    [0] => �

    [1] => �

    [2] => �

    [3] => �

    [4] => �

    [5] => �

    [6] => �

    [7] => �

    [8] => �

    [9] => �

    )

    print_r (mb_str_split(‘Марат’)); выдаст :

    Что делать, если функция для кириллицы на utf-8 не работают?

    Как видим… полный отстой…

    Мы далее разбирались с этим здесь.

  • Как перекодировать строку из utf-8 в windows 1251

    Итак… есть третий вариант, борьбы с квадратиками(непонимание кодировки) — перекодировать строку из utf-8 в windows 1251:

    iconv(«UTF-8», «windows-1251», $text)

    После того, как вы выполнили все намеченные действия с текстом, возвращаем его в исходную кодировку :

    iconv(«windows-1251», «UTF-8», $text)

    Рассмотрим пример перекодировки текста из UTF-8 в windows-1251 и обратно

    Мы использовали var_dump, и он посчитал не правильно, поскольку просто так, на страницу вывести данные с помощью var_dump нельзя, мы использовали вот такой костыль :

    ob_start();

    var_dump( ‘Марат’ );

    echo ob_get_clean();

    Теперь попробуем перекодировать строку прямо внутри :

    ob_start();

    var_dump(iconv(«UTF-8», «windows-1251», ‘Марат’)) ;

    echo ob_get_clean() ;

    Результат подсчета знаков верный, но видим что слово не было перекодировано обратно :

    string(5) «�����»

    Исправим:

    ob_start();

    var_dump(iconv(«UTF-8», «windows-1251», ‘Марат’)) ;

    echo iconv(«windows-1251», «UTF-8», ob_get_clean());

    Результат :

    string(5) «Марат»

    Итак… вы видели процесс кодировки и перекодировки текста из utf-8 в windows 1251, а потом обратно!


    Вы наверное подумали :

    Что за дичь здесь происходит!? Это не дичь! Когда ты внутри, а не снаружи, то все кажется не простым, а очень простым.

    И чем больше ты в теме, это просто, как есть, пить, дышать… просто не задумываешься…

    Я не говорю, что всегда так, иногда бывает очень трудно какаю-то задачку решить… shootself2
    смайлы

  • Что лучше для кириллицы utf-8 или…

    Интересный поисковый запрос — «Что лучше для кириллицы utf-8 или…«…

    Дело в том, что я выбрал кодировку «utf-8» уже… 14 лет(число динамическое) назад… и… уже сейчас трудно вспомнить, почему именно её… но точно вам могу заявить, что когда-то пользовался «windows-1251″… и у неё были какие-то заморочки, в виде неадекватного вывода информации, что, я волей неволей перешел на «utf-8»

    Какие минусы у utf-8?

    Одна из самых главных проблем «utf-8» — это многобайтовость…

    Да! Это несколько неудобно в самом начале, но для всякой функции, которая не хочет работать с кириллицей, существуют замены.

    В процессе создания сайта у вас может возникнуть несколько проблем, которые вы решите и «тупо» забудете об этом…

    Задумывался ли я о переходе с кодировки utf-8 на другую?

    Смысл задумываться о переходе с кодировки utf-8 на другую, если всё работает так, как нужно!

    Не каждый человек обладает большими познаниями в компьютерной технике.

    Что такое windows-1251 кодировка и какую роль играет в работе компьютера предстоит узнать.

    Что это такое?

    Кодировка 1251 представляет собой совокупность символов, которая составляет восьми-битную систему Windows для русифицированных устройств.

    Стоит отметить, что довольное широкое применение она нашла на территории Европы.

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

    Немного из истории

    С наступлением 90-х годов, после распада СССР, границы России стали открыты.

    Поэтому на территорию страны стало постепенно проникать оборудование из европейских стран.

    Изначально все они были запрограммированы на английском языке.

    В этот же промежуток времени начинает активно распространяться интернет.

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

    А значит стало возможным использовать компьютеры со следующими языками:

    • Русский
    • Белорусский
    • Украинский
    • Сербский
    • Болгарский
    • Македонский.

    Совместно с двумя российскими компаниями «Параграф» и «Диалог», представительства компании Microsoft начали активно заниматься разработкой данной кодировки.

    В качестве основы были использованы обыкновенные самостоятельно написанные разработки.

    Однако технический прогресс не стоит на месте, поэтому в последнее время широкое применение нашел Юникод UTF-8.

    В него заложено порядком 90% web-ресурсов. Что касается 1251, то она используется менее, чем в 2%.

    UTF-8 против 1251

    Вся информация, которая хранится на компьютере, имеет кодированный вид.

    Можно предположить, что символ имеет вес порядком 1 байт. 1251 – это разновидность кодировки однобайтовой, а UTF-8 – восьмибайтная.

    Отсюда можно сделать вывод, что первый вариант способен к программированию 256 знаков.

    Что касается второго варианта, то он представляет большее количество. Кроме того, для этого выделяют большой размер.

    Можно сделать вывод, что оба варианта имеют следующие отличия:

    • В верхней части необходимо указывать кодировку, которая необходима для использования. В противном случае, вместо обыкновенных символов появляются нечитаемые иероглифы. Используя UTF-8 (которая считается более универсальной кодировкой), все переводы и расшифровки осуществляются в автоматическом режиме
    • Вне зависимости от того, на территории какой страны будет загружаться страница, символика останется без изменения. Важно отметить, что местоположение в данном случае не играет абсолютно никакой роли. Главное обращать внимание на языковые серверы, используемые пользователем. Каждый человек обращается к программному обеспечению на родном языке. Для жителей Европы, 1251 будет недоступна в силу использования латиницы. Соответственно можно сделать вывод о том, что русскоязычные сайты не будут открывать в корректном формате. Что касается юникода, то он присутствует в любой ОС
    • Второй вид имеет возможность кодировки большего количества символов. На сегодняшний день стоит отметить 6 и 8 байт. Что касается кириллицы, то для ее кодировки достаточно двух байт.

    В связи с выше перечисленными отличиями можно сделать вывод о том, что универсальная кодировка более актуальна для использования, чем 1251, поскольку она подойдет только для славянской группы языков.

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

    Чтобы символы можно было запомнить быстро и просто, чаще всего используют следующую таблицу:

    Инструкция по восстановлению кодировки

    Ситуация, когда в командной строке присутствуют непонятные символы, вопросительные знаки или иероглифы довольна распространенная.

    Однако исправить положение возможно самостоятельно, не прибегая к помощи специалистов.

    Сразу стоит отметить, что это первый признак того, что в седьмом Windows слетела кодировка 1251.

    С восьмой версии активно используют UTF-8.

    Для того, чтобы решить задачу максимально быстро, возможно использование команды CHCP 866, но это только временная мера и в полной мере проблему она не решит.

    Как правило, реестр используется для основательного решения проблемы:

    • Чтобы вызвать командную строку, нажимаем сочетание клавиш Win и R. Пишем regedit, при помощи которого открывается специальный реестр

    • Как показано на рисунке, находим соответствующую папку HKEY_CURRENT_USER далее выбираем Console. Далее смотрим какой код задан для страниц (Code Page). В том случае, если там стоит число не 866, что скорее всего так и будет, значит проблема была определена верно

    • Исправляем в строке на десятичное значение
    • Чтобы править, произошли ли изменения, достаточно открыть и снова вызвать командную строчку.

    Почему до сих пор используется 1251

    Существует несколько причин, почему 1251 продолжает пользоваться большой популярностью среди разработчиков онлайн ресурсов:

    • Многие программисты php используют стандартную кодировку, поскольку OC Windows ее поддерживает в режиме по умолчанию. И хотя в последнее время разработчики стали активно внедрять UTF-8, все же 1251 пока не сдает свои активные позиции
    • Если брать для примера старую версию MySQL до четвертой, то стоит отметить, что при включении даже тестового режима, вылезало множество ошибок в UTF-8. Только после выпуска 4.1 многие «глюки» были исправлены. Существует категория программистов, которая вовсе остается верна 1251, а их последователи рьяно берут с них пример и даже не собираются использовать нечто другое
    • Поскольку один символ в системе 1251 весит меньше (один байт), то вполне логично, что возникает некая экономия в отличие от последнего варианта.

    По сравнению с данной кодировкой, UTF-8 считается более оптимальным вариантом, поскольку она может распознать большее количество символов.

    Существуют и другие аргументы, активно выступающие «ЗА» использование данной системы:

    • Возможно включение любых знаков из набора Юникода. Кроме того, вполне логично, что здесь поддерживается 100 000 символов против 256. Здесь можно найти от стандартных смайликов до апострофа абсолютно все. Их использование возможно в любом документе. Кроме того, их можно прочитать даже в редакторе, что исключает вероятность появления нечитабельных знаков
    • Ранее существовало мнение о том, что современный utf занимает больше места. В итоге оказалось, что символы также весят всего лишь байт. Значит, стоит сделать вывод о том, что увеличение веса странички не происходит и ее использование такое же легкое. Однако, если используется только русский алфавит, то в таком случае размер будет увеличен вдвое, поскольку изначально кириллица не включена в систему
    • Система считается одной из самых универсальных, которые уже смогли достать. В таком случае можно создавать сайты для любого населения мира. Можно уже не думать о том, какая кодировка используется, поскольку Юникод является универсальной вещью
    • UTF – это оптимальный вариант работы с php страницами.

    Важно отметить, что изначально многие разработчики стали использовать 1251.

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

    Кто-то считает, что универсальная utf – это неплохое решение, которое устанавливается для современных ресурсов, но 1251 – это проверенный алгоритм для стран, использующих кириллицу.

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

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

    Также важно принять на заметку, что для работы с utf знание английского языка является обязательным условием.

    Источник

    Содержание

    1. Windows 1251
    2. Содержание
    3. Таблицы
    4. Кодировка Windows-1251 (синоним CP1251)
    5. Другие варианты
    6. Кодировка CP1251-k (KazWin, казахская кодировка)
    7. Кодировка Windows-1251 (чувашский вариант)
    8. Татарский вариант
    9. Внешние ссылки
    10. Полезное
    11. Смотреть что такое «Windows 1251» в других словарях:
    12. Отличие utf-8 и windows 1251
    13. О разнице между двумя кодировками utf-8 и windows 1251
    14. О кодировках utf-8 и windows 1251
    15. Чем отличаются utf-8 и windows 1251
    16. Что такое кодировка windows 1251
    17. Что такое кодировка UTF-8
    18. Пример вывода текста в кодировках utf-8 латиницы
    19. Чем отличается текст в кодировках utf-8 и windows 1251
    20. Пример вывода текста в кодировках utf-8 кириллицы
    21. Пример отличия в кодировках utf-8 и windows 1251
    22. Что делать, если функция для кириллицы на utf-8 не работают?

    Windows 1251

    Windows-1251 — набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для всех русских версий Microsoft Windows. Пользуется довольно большой популярностью. Была создана на базе кодировок, использовавшихся в ранних «самопальных» русификаторах Windows в 1990—1991 гг. совместно представителями «Параграфа», «Диалога» и российского отделения

    Windows-1251 выгодно отличается от других 8‑битных кириллических кодировок (таких как CP866, KOI8-R и ISO-8859-5) наличием практически всех символов, использующихся в русской типографике для обычного текста (отсутствует только значок ударения); она также содержит все символы для близких к русскому языку языков: украинского, белорусского, сербского и болгарского.

    Имеет два недостатка:

    Содержание

    Таблицы

    Нижняя часть таблицы кодировки (латиница) полностью соответствует кодировке Юникоде.

    Кодировка Windows-1251 (синоним CP1251)

    . .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
    8. Ђ
    402
    Ѓ
    403

    201A
    ѓ
    453

    201E

    2026

    2020

    2022

    20AC

    2030
    Љ
    409

    2039
    Њ
    40A
    Ќ
    40C
    Ћ
    40B
    Џ
    40F
    9. ђ
    452

    2018

    2019

    201C

    201D

    2022

    2013

    2014

    2122
    љ
    459

    203A
    њ
    45A
    ќ
    45C
    ћ
    45B
    џ
    45F
    A. A0 Ў
    40E
    ў
    45E
    Ј
    408
    ¤
    A4
    Ґ
    490
    ¦
    A6
    §
    A7
    Ё
    401
    ©
    A9
    Є
    404
    «
    AB
    ¬
    AC
    ­
    AD
    ®
    AE
    Ї
    407
    B. °
    B0
    ±
    B1
    І
    406
    і
    456
    ґ
    491
    µ
    B5

    B6
    ·
    B7
    ё
    451

    2116
    є
    454
    »
    BB
    ј
    458
    Ѕ
    405
    ѕ
    455
    ї
    457
    C. А
    410
    Б
    411
    В
    412
    Г
    413
    Д
    414
    Е
    415
    Ж
    416
    З
    417
    И
    418
    Й
    419
    К
    41A
    Л
    41B
    М
    41C
    Н
    41D
    О
    41E
    П
    41F
    D. Р
    420
    С
    421
    Т
    422
    У
    423
    Ф
    424
    Х
    425
    Ц
    426
    Ч
    427
    Ш
    428
    Щ
    429
    Ъ
    42A
    Ы
    42B
    Ь
    42C
    Э
    42D
    Ю
    42E
    Я
    42F
    E. а
    430
    б
    431
    в
    432
    г
    433
    д
    434
    е
    435
    ж
    436
    з
    437
    и
    438
    й
    439
    к
    43A
    л
    43B
    м
    43C
    н
    43D
    о
    43E
    п
    43F
    F. р
    440
    с
    441
    т
    442
    у
    443
    ф
    444
    х
    445
    ц
    446
    ч
    447
    ш
    448
    щ
    449
    ъ
    44A
    ы
    44B
    ь
    44C
    э
    44D
    ю
    44E
    я
    44F

    Другие варианты

    (Показаны только отличающиеся строки, поскольку всё остальное совпадает)

    Кодировка CP1251-k (KazWin, казахская кодировка)

    . .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
    8. Ұ
    4B0
    Ғ
    492

    201A
    ғ
    493

    201E

    2026

    2020

    2022

    20AC

    2030
    Ө
    4E8

    2039
    Ң
    4A2
    Қ
    49A
    Һ
    4BA
    Ү
    4AE
    9. ұ
    4B1

    2018

    2019

    201C

    201D

    2022

    2013

    2014

    2122
    ө
    4E9

    203A
    ң
    4A3
    қ
    49B
    һ
    4BB
    ү
    4AF
    A. A0 Ў
    40E
    ў
    45E
    Җ
    496
    ¤
    A4
    Ҳ
    4B2
    ¦
    A6
    §
    A7
    Ё
    401
    ©
    A9
    Є
    404
    «
    AB
    ¬
    AC
    ­
    AD
    ®
    AE
    Ї
    407
    B. °
    B0
    ±
    B1
    І
    406
    і
    456
    ҳ
    4B3
    µ
    B5

    B6
    ·
    B7
    ё
    451

    2116
    є
    454
    »
    BB
    җ
    497
    Ә
    4D8
    ә
    4D9
    ї
    457

    Кодировка Windows-1251 (чувашский вариант)

    . .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
    8. Ђ
    402
    Ѓ
    403

    201A
    ѓ
    453

    201E

    2026

    2020

    2022

    20AC

    2030
    Љ
    409

    2039
    Ӑ
    4D0
    Ӗ
    4D6
    Ҫ
    4AA
    Ӳ
    4F2
    9. ђ
    452

    2018

    2019

    201C

    201D

    2022

    2013

    2014

    2122
    љ
    459

    203A
    ӑ
    4D1
    ӗ
    4D7
    ҫ
    4AB
    ӳ
    4F3

    Татарский вариант

    Эта кодировка была официально принята в Татарстане в 1996 г.

    . .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
    8. Ә
    4D8
    Ѓ
    403

    201A
    ѓ
    453

    201E

    2026

    2020

    2022

    20AC

    2030
    Ө
    4E8

    2039
    Ү
    4AE
    Җ
    496
    Ң
    4A2
    Һ
    4BA
    9. ә
    4D9

    2018

    2019

    201C

    201D

    2022

    2013

    2014

    2122
    ө
    4E9

    203A
    ү
    4AF
    җ
    497
    ң
    4A3
    һ
    4BB

    Внешние ссылки

    Полезное

    Смотреть что такое «Windows 1251» в других словарях:

    Windows-1251 — (a.k.a. code page CP1251) is a popular 8 bit character encoding, designed to cover languages that use the Cyrillic alphabet such as Russian, Bulgarian, Serbian Cyrillic and other languages. It is the most widely used for encoding the Bulgarian,… … Wikipedia

    Windows-1251 — набор символов и кодировка, являющаяся стандартной 8 битной кодировкой для всех русских версий Microsoft Windows. Пользуется довольно большой популярностью. Была создана на базе кодировок, использовавшихся в ранних «самопальных» русификаторах… … Википедия

    Windows-1251 — (a.k.a. CP1251) es un popular juego de caracteres de 8 bits, diseñado para cubrir lenguajes que usan el alfabeto cirilico como son el lenguaje Ruso y otros lenguajes. Este es la codifiación más ampliamente usada para codificar Búlgaro, Serbio y… … Wikipedia Español

    Windows-1251 — Windows Codepages 874 Thai 932 Japanisch 936 Vereinfachtes Chinesisch 949 Koreanisch 950 Traditionelles Chinesisch 1250 Mitteleuropäisch 1251 Kyrillisch 1252 … Deutsch Wikipedia

    Windows (значения) — Windows: Microsoft Windows семейство проприетарных операционных систем корпорации Microsoft, ориентированных на применение графического интерфейса при управлении. Windows (клавиша) клавиша на клавиатурах ПК совместимых компьютеров,… … Википедия

    Windows-1252 — ISO 8859 1 Latin 1, Westeuropäisch 2 Latin 2, Mitteleuropäisch 3 Latin 3, Südeuropäisch 4 Latin 4, Baltisch 5 Kyrillisch 6 Arabisch 7 Griechisch 8 … Deutsch Wikipedia

    Windows-1252 — ISO/IEC 8859 1 (также известная как ISO 8859 1 и Latin 1) кодовая страница, предназначенная для западноевропейских языков; она базируется на символьном наборе популярных в прошлом терминалов ISO 8859. ISO 8859 1 кодировка, зарегистрированная… … Википедия

    Windows code page — Windows code pages are sets of characters or code pages (known as character encodings in other operating systems) used in Microsoft Windows from the 1980s and 1990s. Windows code pages were gradually superseded when Unicode was implemented in… … Wikipedia

    Windows Glyph List 4 — (сокр. WGL4, также известен как Общеевропейский набор символов англ. Pan European character set) определённый компанией Майкрософт набор из 652 типографических символов Юникода, призванный помочь разработчикам шрифтов в обеспечении… … Википедия

    Windows-1254 — Windows 1254 кодовая страница, используемая Microsoft Windows для представления турецкого языка. Символы с кодами от A0 до FF совместимы с ISO 8859 9. Для современных приложений UTF 8 предпочтительней windows 1254. Таблица кодов Символы с… … Википедия

    Источник

    Отличие utf-8 и windows 1251

    О разнице между двумя кодировками utf-8 и windows 1251

    О кодировках utf-8 и windows 1251

    Чем отличаются utf-8 и windows 1251

    Количество байтов кириллицы в UTF-8 будет в 2 раза больше, чем 1). латиницы в UTF-8 и 2). латиницы + кириллицы в Windows- 1251 → пример

    Главное отличие кодировок – это используемый набор символов. В UTF-8 гораздо больше количество символов возможно представить, чем в Windows- 1251. Кодировка Windows- 1251 однобайтовая, т.е. представить в ней можно только 255 символов. Для кириллицы, впрочем, этого вполне достаточно, именно поэтому однобайтовые кодировки до сих пор так массово применяются.

    Что такое кодировка windows 1251

    Windows-1251 – набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для всех русских версий Microsoft Windows. Пользуется довольно большой популярностью. Windows-1251 выгодно отличается от других 8‑битных кириллических кодировок (таких как CP866, KOI8-R и ISO 8859-5) наличием практически всех символов, использующихся в русской типографике для обычного текста; она также содержит все символы для близких к русскому языку языков: украинского, белорусского, сербского и болгарского.

    Что такое кодировка UTF-8

    UTF-8 – в настоящее время распространённая кодировка, реализующая представление Юникода, совместимое с 8-битным кодированием текста. Нашла широкое применение в операционных системах и веб-пространстве. Текст, состоящий только из символов Юникода с номерами меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байт.

    Символ в кодировке UTF-8 может кодироваться аж 6 байтами (пока используется только 4 и больше не планируется). Для русского языка, например, символ занимает 2 байта. Все символы, которые есть в таблице символов – поддерживаются этой кодировкой. К примеру, если вам нужен знак копирайта (©), то вам не нужно искать особый шрифт или же изображать символов в графическом формате.

    Пример вывода текста в кодировках utf-8 латиницы

    А если вы еще и поняли о чем идет речь, то вы вообще Эйнштейн! good, то и смысла особого вам читать дальше нет.

    А для всех остальных продолжим.

    Чем отличается текст в кодировках utf-8 и windows 1251

    Как показать отличие двух кодировок!?

    У нас на сайте основная кодировка utf-8, и мы не напрягаясь можем посмотреть, что творится с текстом в этой кодировке!

    Нам понадобится какой-то текст на латинице:

    И. нам нужно такое слово, чтобы имело одинаковое количество букв в слове, ну пусть это будет моё имя.

    Далее нам потребуется функция var_dump.

    И выведем прямо здесь вот такую конструкцию :

    Что мы здесь можем прочитать!?

    Что это строка, и что в ней 5 элементов.

    Пример вывода текста в кодировках utf-8 кириллицы

    Теперь, проделаем тоже самое со строкой на кириллице:

    У нас все таже кодировка utf-8.

    Но теперь нам понадобится текст на кириллице:

    И выведем прямо здесь вот такую конструкцию :

    И что мы здесь видим!?

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

    Поэтому, и возникают проблемы с текстов в кодировке utf-8 кириллицы, множество функций тупо не работают.

    Как пример. как-то я задолбался со strtolower в utf-8 для кириллицы, что решил написать собственную функцию strtolower, чтобы каждый раз не городить этажерку из нескольких функций.

    Пример отличия в кодировках utf-8 и windows 1251

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

    Результат вывода var_dump(‘Marat’); :
    string(5) «Marat»
    Результат var_dump(‘Марат’); :
    string(10) «Марат»

    Что делать, если функция для кириллицы на utf-8 не работают?

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

    Но если уж она возникала, то есть несколько вариантов решения!

    Это функции с приставкой «mb_», естественно надо проверять, работает ли она у вас на хостинге.

    Второй вариант, это написать собственную функцию, которая будет работать и для латиницы и кириллицы? как это я показал на функции strtolower

    Пусть это будет функция str_split и её аналог mb_str_split

    Источник

    Таблица ASCII (American standard code for information interchange) является мировым стандартом для кодирования букв английского алфавита, популярных спец символов (! $ # % & и т.д.) и некоторых непечатных символов (например, возврат каретки 0x0D и перенос строки 0х0А).

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

    Таблица CP1251 (windows-1251)

    Эта кодировочная таблица может называться или CP1251 или Windows-1251 Это стандарт кодирования кириллических символов в операционных системах windows с русскоязычным интерфейсом.

    Первая часть этой таблицы (до байта 0x7F) повторяет таблицу ASCII, а вторая часть (от 0x80 до 0xFF) кодирует кириллические символы в алфавитном порядке.

    CP1251 (windows-1251)

    Таблица IS0-8859-5

    Эта кодировка применяется в дисплеях Nextion для кодирования кириллических символов.

    Стоит обратить внимание, что в данной таблице кириллические символы расположены в алфавитном порядке и сдвинуты ровно на 16 байт по сравнению с кодировочной таблицей windows-1251.

    Кодировка UTF-8
    (Unicode Transformation Format)

    Очень распространенный формат кодирования символов, позволяющий кодировать символы переменным количеством байт.

    Например, если для кодирования номера символа требуется 21 бит, то используется 4 байта для кодировки. Если для кодирования достаточно 11 бит, то используют 2 байта. А если номер символа может быть закодирован 7 битами, то используется один байт.

    Кодировка UTF-8

    Все ASCII символы в кодировке UTF8 закодированы без изменений, то есть 1 байтом, как в стандартной таблице ASCII.

    А вот остальные символы закодированы количеством байт от 2 до 4.

    Кириллические символы закодированы двумя байтами.

    Таблицы кодировок ASCII, CP1251 (windows1251), ISO-8859-5

    Таблица ASCII

    Таблица ASCII (American standard code for information interchange) является мировым стандартом для кодирования букв английского алфавита, популярных спец символов (! $ # % & и т.д.) и некоторых непечатных символов (например, возврат каретки 0x0D и перенос строки 0х0А).

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

    Таблица CP1251 (windows-1251)

    Эта кодировочная таблица может называться или CP1251 или Windows-1251 Это стандарт кодирования кириллических символов в операционных системах windows с русскоязычным интерфейсом.

    Первая часть этой таблицы (до байта 0x7F) повторяет таблицу ASCII, а вторая часть (от 0x80 до 0xFF) кодирует кириллические символы в алфавитном порядке.

    Таблица IS0-8859-5

    Эта кодировка применяется в дисплеях Nextion для кодирования кириллических символов.

    Стоит обратить внимание, что в данной таблице кириллические символы расположены в алфавитном порядке и сдвинуты ровно на 16 байт по сравнению с кодировочной таблицей windows-1251.

    Кодировка UTF-8
    (Unicode Transformation Format)

    Очень распространенный формат кодирования символов, позволяющий кодировать символы переменным количеством байт.

    Например, если для кодирования номера символа требуется 21 бит, то используется 4 байта для кодировки. Если для кодирования достаточно 11 бит, то используют 2 байта. А если номер символа может быть закодирован 7 битами, то используется один байт.

    Все ASCII символы в кодировке UTF8 закодированы без изменений, то есть 1 байтом, как в стандартной таблице ASCII.

    А вот остальные символы закодированы количеством байт от 2 до 4.

    Кириллические символы закодированы двумя байтами.

    Источник

    Кодовая таблица в системе Windows

    Домашнее задание >>

    Кодовая таблица в системе Windows. Символ. Десятичный код. Двоичный код. Символ. Десятичный код. Двоичный код. Пробел ! * + , — . / = ? 32 33 42 43 44 45 46 47 61 63. 00100000 00100001 00101010 00101011 00101100 00101101 00101110 001011110 00111101 00111111. 0 1 2 3 4 5 6 7 8 9. 48 49 50 51 52 53 54 55 56 57. 00110000 00110001 00110010 00110011 00110100 00110101 00110110 00110111 00111000 00111001. А б в г д е ж з и й к л м н о п. 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207. 11000000 11000001 11000010 11000011 11000100 11000101 11000110 11000111 11001000 11001001 11001010 11001011 11001100 11001101 11001110 11001111. Р с т у ф х ц ч ш щ ъ ы ь э ю я. 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223. 11010000 11010001 11010010 11010011 11010100 11010101 11010110 11010111 11011000 11011001 11011010 11011011 11011100 11011101 11011110 11011111.

    Слайд 43 из презентации «Кодирование с помощью знаковых систем». Размер архива с презентацией 6223 КБ.

    Методы кодирования

    «Способы кодирования информации» — В памяти компьютера информация представлена в двоичном коде. Зашифрованная пословица. Зашифрованная информация. Задания. Кодирование и декодирование. Множество кодов очень прочно вошло в нашу жизнь. Способы кодирования информации. Правила дорожного движения. Придумайте собственный способ кодирования букв русского алфавита. Способ кодирования (форма представления) информации зависит от цели. Кодирование информации.

    «Виды кодирования информации» — Файлы небольшого размера. Кодировка ASCII. Форматы видеофайлов. Файл с палитрой. Текстовый файл. Кодовые страницы. Векторные рисунки. Кодирование звуковой и видеоинформации. Количество цветов. Кодирование символов. Лучший способ для хранения чертежей. Трекерная музыка. Совместимость. Информационный объем данных. Кодирование цвета при печати. Оцифровка звука. Угловой узел. Форматы файлов. Растровое кодирование.

    «Способы кодирования» — Кодирование информации. Пример кода. Система условных знаков. Разгадайте ребус. Передаваемая информация. Разнообразие кодов. Декодируйте информацию. Изменение формы представления информации. Декодирование информации. Книга. Как можно назвать записную книжку с точки зрения хранения информации. Мальчик. Закодированный текст. Ключевые слова. Буква исходного текста. Достоинства и недостатки. Носитель информации.

    «Кодирование с помощью знаковых систем» — Кодовая таблица в системе Windows. Знаки в форме сигналов. Азбука Брайля. ЭВМ «Сетунь». Символ. Основные объекты языка. Генетическая информация. Генетический алфавит. Бумага. Перекодирование . Формальный язык. Зрительные знаки. Буквы и цифры. Первые носители информации. Образец письменности майя. Знак — это метка. Кодирование информации с помощью знаковых систем. Знаковые системы. Шифрование. Формальные языки.

    «Двоичное кодирование» — Двоичное кодирование текстовой информации. Двоичное кодирование в компьютере. Символ. Цифры. Буква латинского алфавита. Использование двоичной системы. Таблица расширенного кода. Уникальный двоичный код. Компьютеры. Информационный объем текста. Кодирование текстовой информации. Таблица кодировки.

    «Методы кодирования информации» — Решение задач ЕГЭ на тему кодирование. Первый телеграф. Кодирование и декодирование. Получено сообщение. Языки. Если вариантов больше. Какой код использовать. Кодирование информации. Почему двоичное кодирование. Закодируйте свое имя. Способы кодирования информации. Двоичное кодирование. Шифрование сообщения. Кодирование. Способы. Неравномерность кода. Условие Фано. Количество информации. Используется таблица.

    Всего в разделе «Методы кодирования» 7 презентаций

    Источник

    Кодовая таблица в системе windows

    БлогNot. Таблица кодов кириллицы в Unicode, UTF-8 и Windows-1251

    Таблица кодов кириллицы в Unicode, UTF-8 и Windows-1251

    Во-первых, напомню, что Юникод — не кодировка, а стандарт кодирования, кодировки — это UTF-8, UTF-16 и т.д., но, в силу инерции, разработчики и пользователи часто говорят о «кодировке Юникод», имея в виду распространённую именно в их деревне форму представления символов 🙂

    Во-вторых, на самом деле кодирование там довольно замудрённое, возьмём, скажем русскую заглавную «Ж».

    Представляемые в Юникоде символы кодируются целыми числами без знака, их можно называть «кодами символов Unicode».

    Так, для буквы «Ж» Unicode = 104610 или 041616 или 10000 0101102. Unicode в двоичном виде разбивается на две части: пять левых бит и шесть правых. Левая часть в старших разрядах дополняется до байта признаком 110 двухбайтного кода UTF-8, получаем 11010000. К правой части в старших разрядах приписываются два бита 10 признака продолжения многобайтного кода, получаем 10010110. Окончательно код буквы «Ж» в UTF-8 будет иметь вид 11010000 100101102 или D0 9616.

    Именно последний код мы увидим в любом 16-ричном вьюере файла, например, создав в текстовом редакторе файл со словом «Жора» и сохранив его в UTF-8 (только не из Блокнотика Windows, который добавит в начало файла 3-байтовую метку BOM):

    То есть, каждая буква кодируется как бы дважды, сначала в 11-битный Unicode, затем в 16-битный UTF-8.

    Ниже приведена таблица кодов кириллицы в Unicode, UTF-8 и однобайтовой кодировке Windows-1251.

    Символ Unicode UTF-8 Windows-1251
    16-ричн. 10-тичн. 16-ричн. 10-тичн.
    А 0410 1040 D090 208 144 192
    Б 0411 1041 D091 208 145 193
    В 0412 1042 D092 208 146 194
    Г 0413 1043 D093 208 147 195
    Д 0414 1044 D094 208 148 196
    Е 0415 1045 D095 208 149 197
    Ж 0416 1046 D096 208 150 198
    З 0417 1047 D097 208 151 199
    И 0418 1048 D098 208 152 200
    Й 0419 1049 D099 208 153 201
    К 041A 1050 D09A 208 154 202
    Л 041B 1051 D09B 208 155 203
    М 041C 1052 D09C 208 156 204
    Н 041D 1053 D09D 208 157 205
    О 041E 1054 D09E 208 158 206
    П 041F 1055 D09F 208 159 207
    Р 0420 1056 D0A0 208 160 208
    С 0421 1057 D0A1 208 161 209
    Т 0422 1058 D0A2 208 162 210
    У 0423 1059 D0A3 208 163 211
    Ф 0424 1060 D0A4 208 164 212
    Х 0425 1061 D0A5 208 165 213
    Ц 0426 1062 D0A6 208 166 214
    Ч 0427 1063 D0A7 208 167 215
    Ш 0428 1064 D0A8 208 168 216
    Щ 0429 1065 D0A9 208 169 217
    Ъ 042A 1066 D0AA 208 170 218
    Ы 042B 1067 D0AB 208 171 219
    Ь 042C 1068 D0AC 208 172 220
    Э 042D 1069 D0AD 208 173 221
    Ю 042E 1070 D0AE 208 174 222
    Я 042F 1071 D0AF 208 175 223
    а 0430 1072 D0B0 208 176 224
    б 0431 1073 D0B1 208 177 225
    в 0432 1074 D0B2 208 178 226
    г 0433 1075 D0B3 208 179 227
    д 0434 1076 D0B4 208 180 228
    е 0435 1077 D0B5 208 181 229
    ж 0436 1078 D0B6 208 182 230
    з 0437 1079 D0B7 208 183 231
    и 0438 1080 D0B8 208 184 232
    й 0439 1081 D0B9 208 185 233
    к 043A 1082 D0BA 208 186 234
    л 043B 1083 D0BB 208 187 235
    м 043C 1084 D0BC 208 188 236
    н 043D 1085 D0BD 208 189 237
    о 043E 1086 D0BE 208 190 238
    п 043F 1087 D0BF 208 191 239
    р 0440 1088 D180 209 128 240
    с 0441 1089 D181 209 129 241
    т 0442 1090 D182 209 130 242
    у 0443 1091 D183 209 131 243
    ф 0444 1092 D184 209 132 244
    х 0445 1093 D185 209 133 245
    ц 0446 1094 D186 209 134 246
    ч 0447 1095 D187 209 135 247
    ш 0448 1096 D188 209 136 248
    щ 0449 1097 D189 209 137 249
    ъ 044A 1098 D18A 209 138 250
    ы 044B 1099 D18B 209 139 251
    ь 044C 1100 D18C 209 140 252
    э 044D 1101 D18D 209 141 253
    ю 044E 1102 D18E 209 142 254
    я 044F 1103 D18F 209 143 255
    Символы вне общего правила
    Ё 0401 1025 D001 208 101 168
    ё 0451 1105 D191 209 145 184

    23.09.2018, 12:37; рейтинг: 30395

    Источник

    Понравилась статья? Поделить с друзьями:
  • Windows 1251 или utf 8 что лучше
  • Windows 1251 to utf 8 pdf
  • Windows 1251 is not a supported encoding name
  • Windows 12 скачать торрент 64 bit rus активированная 2020 бесплатно
  • Windows 12 дата выхода в россии скачать бесплатно