Html unicode (utf-8) справочник

Range: Decimal 8448-8527. Hex 2100-214F.

If you want any of these characters displayed in HTML, you can use the HTML
entity found in the table below.

If the character does not have an HTML entity, you can use the decimal (dec)
or hexadecimal (hex) reference.

Will display as:

I will display
I will display
I will display

Older browsers may not support all the HTML5 entities in the table below.
Chrome and Opera have good support, and IE 11+ and Firefox 35+ support all the entities.

Char Dec Hex Entity Name
8448 2100   ACCOUNT OF
8449 2101   ADDRESSED TO THE SUBJECT
8450 2102   DOUBLE-STRUCK CAPITAL C
8451 2103   DEGREE CELSIUS
8452 2104   CENTRE LINE SYMBOL
8453 2105   CARE OF
8454 2106   CADA UNA
8455 2107   EULER CONSTANT
8456 2108   SCRUPLE
8457 2109   DEGREE FAHRENHEIT
8458 210A   SCRIPT SMALL G
8459 210B   SCRIPT CAPITAL H
8460 210C   BLACK-LETTER CAPITAL H
8461 210D   DOUBLE-STRUCK CAPITAL H
8462 210E   PLANCK CONSTANT
8463 210F   PLANCK CONSTANT OVER TWO PI
8464 2110   SCRIPT CAPITAL I
8465 2111 ℑ BLACK-LETTER CAPITAL I
8466 2112   SCRIPT CAPITAL L
8467 2113   SCRIPT SMALL L
8468 2114   L B BAR SYMBOL
8469 2115   DOUBLE-STRUCK CAPITAL N
8470 2116   NUMERO SIGN
8471 2117   SOUND RECORDING COPYRIGHT
8472 2118 ℘ SCRIPT CAPITAL P
8473 2119   DOUBLE-STRUCK CAPITAL P
8474 211A   DOUBLE-STRUCK CAPITAL Q
8475 211B   SCRIPT CAPITAL R
8476 211C ℜ BLACK-LETTER CAPITAL R
8477 211D   DOUBLE-STRUCK CAPITAL R
8478 211E   PRESCRIPTION TAKE
8479 211F   RESPONSE
8480 2120   SERVICE MARK
8481 2121   TELEPHONE SIGN
8482 2122 ™ TRADE MARK SIGN
8483 2123   VERSICLE
8484 2124   DOUBLE-STRUCK CAPITAL Z
8485 2125   OUNCE SIGN
8486 2126 Ω OHM SIGN
8487 2127 ℧ INVERTED OHM SIGN
8488 2128   BLACK-LETTER CAPITAL Z
8489 2129   TURNED GREEK SMALL LETTER IOTA
8490 212A   KELVIN SIGN
8491 212B   ANGSTROM SIGN
8492 212C   SCRIPT CAPITAL B
8493 212D   BLACK-LETTER CAPITAL C
8494 212E   ESTIMATED SYMBOL
8495 212F   SCRIPT SMALL E
8496 2130   SCRIPT CAPITAL E
8497 2131   SCRIPT CAPITAL F
8498 2132   TURNED CAPITAL F
8499 2133   SCRIPT CAPITAL M
8500 2134   SCRIPT SMALL O
8501 2135 ℵ ALEF SYMBOL
8502 2136   BET SYMBOL
8503 2137   GIMEL SYMBOL
8504 2138   DALET SYMBOL
8505 2139   INFORMATION SOURCE
8506 213A   ROTATED CAPITAL Q
8507 213B   FACSIMILE SIGN
8508 213C   DOUBLE-STRUCK SMALL PI
8509 213D   DOUBLE-STRUCK SMALL GAMMA
8510 213E   DOUBLE-STRUCK CAPITAL GAMMA
8511 213F   DOUBLE-STRUCK CAPITAL PI
8512 2140   DOUBLE-STRUCK N-ARY SUMMATION
8513 2141   TURNED SANS-SERIF CAPITAL G
8514 2142   TURNED SANS-SERIF CAPITAL L
8515 2143   REVERSED SANS-SERIF CAPITAL L
8516 2144   TURNED SANS-SERIF CAPITAL Y
8517 2145   DOUBLE-STRUCK ITALIC CAPITAL D
8518 2146   DOUBLE-STRUCK ITALIC SMALL D
8519 2147   DOUBLE-STRUCK ITALIC SMALL E
8520 2148   DOUBLE-STRUCK ITALIC SMALL I
8521 2149   DOUBLE-STRUCK ITALIC SMALL J
8522 214A   PROPERTY LINE
8523 214B   TURNED AMPERSAND
8524 214C   PER SIGN
8525 214D   AKTIESELSKAB
8526 214E   TURNED SMALL F
8527 214F   SYMBOL FOR SAMARITAN SOURCE

❮ Previous
Next ❯

Different types of charset

Most charsets came about from individual manufacturers catering to the needs of their clients. Most charsets are incompatible with each other (with a few exceptions). The three most common charsets are, ASCII (1968), ISO 8859-1 (1987) and UTF-8 (1996).

ASCII

Charset for the English language. Contains 7-bits that are mapped to 128 characters. Each letter is assigned a number from 0 to 127. This code set is quite restricted, but being one of the pioneers sparked the creation of a character set for each of the other languages.  Most computers use ASCII codes to represent text.

Unicode

Unicode was created to unify 135 modern and historic languages under one standard. Unicode is a standard and not a charset itself. As of May 2019, version 12.1, Unicode contains 137,994 characters including symbols and emojis. The Unicode standard defines UTF-8, UTF-16, and UTF-32

UTF-8

Now the dominant code of the internet. UTF-8 is used in 94% of websites. It encodes the most common characters,  basic numbers, and English with 8-bits. UTF-8 uses a minimum of 1 byte. UTF-8 is also identical to ASCII for English. This means that any ASCII text is also a UTF-8 text.

UTF-16

Unicode with 16 bits. While used originally with systems such as Windows and Java, it never really took off with Linux and macOS. Today UTF-16 is used with 0.01% of webpages. UTF-16 uses a minimum of 2 bytes.

Image Source

UTF-32

Unicode with 32 bits. The advantage of UTF-32 is that the Unicode points are directly indexed. The disadvantage is that it is not efficient with its use of space as it always uses 4 bytes. This means up to twice the size of UTF-16 and four times to that of UTF-8.

Неправильная кодировка результатов из базы данных MySQL

Если ваш сайт состоит из статической части (шаблон) и динамической, которая формируется из данных, получаемых из базы данных, то может возникнуть ситуация, когда часть сайта имеет правильную кодировку, а другая часть сайта имеет неправильную. В этом случае бесполезно менять настройки веб-сервера – поскольку всё равно часть страницы будет иметь неправильную кодировку.

Нужно начать с определения кодировки ваших таблиц. Можно посмотреть в phpMyAdmin:

Обратите внимание на столбец «Сравнение», запись «utf8_unicode_ci» означает, что используется кодировка UTF-8.

Можно подключиться к СУБД MySQL и проверить кодировку таблиц без phpMyAdmin. Для этого:

mysql -u root -p

Если вы забыли имя базы данных, то выполните команду:

SHOW DATABASES;

Предположим, я хочу посмотреть кодировку для таблиц в базе данных information_schema

USE information_schema;

Если вы забыли имя таблиц, выполните:

SHOW TABLES;

Далее выполните команду, в которой имя_таблицы замените на настоящее имя таблицы:

SHOW FULL COLUMNS FROM имя_таблицы;

Например:

SHOW FULL COLUMNS FROM GLOBAL_STATUS;

Вы увидите примерно следующее:

Смотрите столбец Collation. В моём случае там utf8_general_ci, это, как и utf8_unicode_ci, кодировка UTF-8. Кстати, если вы не знаете в чём разница между кодировками utf8_general_ci, utf8_unicode_ci, utf8mb4_general_ci, utf8mb4_unicode_ci, а также какую кодировку выбрать для базы данных MySQL, то посмотрите эту статью.

Теперь, когда мы узнали кодировку (в моём случае это UTF-8), то при каждом подключении к СУБД MySQL нужно выполнять последовательно запросы:

SET NAMES UTF8
SET CHARACTER SET UTF8
SET character_set_client = UTF8
SET character_set_connection = UTF8
SET character_set_results = UTF8

В PHP это можно сделать примерно так:

$this->mysqli = new mysqli($server, $username, $password, $basename);
if ($this->mysqli->connect_error) {
            $this->errorHandler_c->logError(1, 'Connect Error (' . $this->mysqli->connect_errno . ') ' . $this->mysqli->connect_error, $_SERVER );
}
$this->mysqli->query("SET NAMES UTF8");
$this->mysqli->query("SET CHARACTER SET UTF8");
$this->mysqli->query("SET character_set_client = UTF8");
$this->mysqli->query("SET character_set_connection = UTF8");
$this->mysqli->query("SET character_set_results = UTF8");

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

C0 Controls

The control characters were originally designed to control
hardware devices.

Control characters (except horizontal tab, carriage return, and line feed)
have nothing to do inside an HTML document.

Char Dec Hex Description
NUL 0000 null character
SOH 1 0001 start of header
STX 2 0002 start of text
ETX 3 0003 end of text
EOT 4 0004 end of transmission
ENQ 5 0005 enquiry
ACK 6 0006 acknowledge
BEL 7 0007 bell (ring)
BS 8 0008 backspace
HT 9 0009 horizontal tab
LF 10 000A line feed
VT 11 000B vertical tab
FF 12 000C form feed
CR 13 000D carriage return
SO 14 000E shift out
SI 15 000F shift in
DLE 16 0010 data link escape
DC1 17 0011 device control 1
DC2 18 0012 device control 2
DC3 19 0013 device control 3
DC4 20 0014 device control 4
NAK 21 0015 negative acknowledge
SYN 22 0016 synchronize
ETB 23 0017 end transmission block
CAN 24 0018 cancel
EM 25 0019 end of medium
SUB 26 001A substitute
ESC 27 001B escape
FS 28 001C file separator
GS 29 001D group separator
RS 30 001E record separator
US 31 001F unit separator
       
DEL 127 007F delete (rubout)

❮ Previous
Next ❯

Настройка кодировки сайта

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

  • Сохраните все файлы сайта в единой кодировке. При необходимости измените её с помощью специальных программ, например Notepad++.
  • Установите в html кодетеги кодировок. Для UTF8 кодировки это будет.
  • Задайте кодировку серверных заголовков по умолчанию. Без этого браузер будет игнорировать даже метатеги.
  • Отредактируйте файл httpd.conf. Найдите параметр AddDefaultCharset и установите необходимое значение.
  • Если у вас нет доступа к корневым настройкам веб-сервера, отредактируйте файл .htaccess в папке ресурса. Укажите вручную параметр AddDefaultCharset с вашей кодировкой сайта.
  • Существует возможность отправки заголовков средствами скриптов. Например, в PHP-скриптах достаточно добавить header(«Content-type: text/html; Charset=utf-8»). Отправка заголовков – приоритетная задача, и она должна выполняться в первую очередь перед выводом контента.

Придется вручную установить верную кодировку соединения для подключаемых модулей. Приведем пример конфигурации для популярной БД MySQL:

  • Откройте на сервере конфиг my.cnf.
  • В области добавьте блок default-character-set=utf8.
  • В области добавьте блок character_set_server=utf8 и
    collation_server=utf8_unicode_ci.
  • Задайте принудительную кодировку при каждом обращении в PHP.
  • mysqli_query(‘SET NAMES utf8 COLLATE utf8_general_ci’).

Неверная настройка кодировки сайта может навредить вашим посетителям, за счёт чего вы потеряете посещаемость и доход. Заходя на сайт, аудитория увидит непонятные отталкивающие наборы несвязанных символов. Никто не станет настраивать все вручную, чтобы поменять кодировку сайта на правильную, 95% пользователей просто уйдут со страницы. Подходите к этой проблеме с максимальной ответственностью. От правильного выбора кодировки зависит дальнейшая работа всего проекта.

How does it work?

Meta Charset is what determines how text is transmitted and stored. This text data is usually converted to binary first and then there needs to be a kind of cipher that connects characters with their correct binary equivalents.

When this data is eventually decoded, the character encoding must be known beforehand or there could be complications. An example of these can be seen in browsers when you’re looking at a webpage. Information about the kind of character set used comes from the server or is written directly by the developer. Unfortunately, there is a myriad of character sets and this means diverse ways of matching binary codes to characters and bytes.

For content developers and authors, choosing the UTF-8 character set for your content means that you can use a single character set to multiple characters needs thereby simplifying things greatly without the need to track and convert multiple times. This means it would be easier to surf through your content without getting confusing characters and garbage

Указание кодировки символов документа

Есть несколько способов указать, какая кодировка символов используется в документе. Во-первых, веб-сервер может включать кодировку символов или » » в заголовок протокола передачи гипертекста (HTTP) , который обычно выглядит следующим образом:

Content-Type: text/html; charset=utf-8

Этот метод дает HTTP-серверу удобный способ изменить кодировку документа в соответствии с согласованием содержимого ; определенное программное обеспечение HTTP-сервера может это сделать, например Apache с модулем .

Для HTML можно включить эту информацию внутри элемента в верхней части документа:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

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

<meta charset="utf-8">

У документов XHTML есть третий вариант: выразить кодировку символов через объявление XML следующим образом:

<?xml version="1.0" encoding="ISO-8859-1"?>

Поскольку кодировка символов не может быть известна до тех пор, пока это объявление не будет проанализировано, может возникнуть проблема, зная, какая кодировка используется для самого объявления. Главный принцип заключается в том, что объявление должно быть закодировано в чистом ASCII, и поэтому (если объявление находится внутри файла) кодировка должна быть расширением ASCII . Для того чтобы кодировки не были обратно совместимы с ASCII, браузеры должны иметь возможность анализировать объявления в таких кодировках. Примеры таких кодировок — UTF-16BE и UTF-16LE .

Начиная с HTML5, рекомендуемая кодировка — UTF-8 . В спецификации определен «алгоритм сниффинга кодирования» для определения кодировки символов документа на основе нескольких источников ввода, включая:

  1. Явная инструкция пользователя
  2. Явный метатег в первых 1024 байтах документа.
  3. Отметка порядка байтов в течение первых трех байтов документа
  4. HTTP Content-Type или другая информация транспортного уровня
  5. Анализ байтов документа в поисках определенных последовательностей или диапазонов значений байтов и другие механизмы предварительного обнаружения.

Для ASCII-совместимых кодировок символов следствием неправильного выбора является то, что символы за пределами печатаемого диапазона ASCII (от 32 до 126) обычно отображаются неправильно. Это создает несколько проблем для английских -speaking пользователей, но и другие языки регулярно , в некоторых случаях, всегда требуют-символы за пределами этого диапазона. В средах CJK, где используется несколько различных многобайтовых кодировок, также часто используется автоматическое обнаружение. Наконец, браузеры обычно позволяют пользователю вручную переопределить неправильную метку кодировки.

Для многоязычных веб-сайтов и веб-сайтов на незападных языках все чаще используется UTF-8 , который позволяет использовать одну и ту же кодировку для всех языков. UTF-16 или UTF-32 , которые также могут использоваться для всех языков, менее широко используются, потому что их может быть труднее обрабатывать в языках программирования, которые предполагают байтовую кодировку расширенного набора ASCII, и они менее эффективны для текста с высокая частота символов ASCII, что обычно характерно для документов HTML.

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

Range: Decimal 688-767. Hex 02B0-02FF.

If you want any of these characters displayed in HTML, you can use the HTML entity found in the table below.

If the character does not have an HTML entity, you can use the decimal (dec) or hexadecimal (hex) reference.

Will display as:

I will display a
I will display ʰ
I will display aʰ

Older browsers may not support all the HTML5 entities in the table below.
Chrome and Opera have good support, and IE 11+ and Firefox 35+ support all the entities.

Char Dec Hex Entity Name
ʰ 688 02B0   MODIFIER LETTER SMALL H
ʱ 689 02B1   MODIFIER LETTER SMALL H WITH HOOK
ʲ 690 02B2   MODIFIER LETTER SMALL J
ʳ 691 02B3   MODIFIER LETTER SMALL R
ʴ 692 02B4   MODIFIER LETTER SMALL TURNED R
ʵ 693 02B5   MODIFIER LETTER SMALL TURNED R WITH HOOK
ʶ 694 02B6   MODIFIER LETTER SMALL CAPITAL INVERTED R
ʷ 695 02B7   MODIFIER LETTER SMALL W
ʸ 696 02B8   MODIFIER LETTER SMALL Y
ʹ 697 02B9   MODIFIER LETTER PRIME
ʺ 698 02BA   MODIFIER LETTER DOUBLE PRIME
ʻ 699 02BB   MODIFIER LETTER TURNED COMMA
ʼ 700 02BC   MODIFIER LETTER APOSTROPHE
ʽ 701 02BD   MODIFIER LETTER REVERSED COMMA
ʾ 702 02BE   MODIFIER LETTER RIGHT HALF RING
ʿ 703 02BF   MODIFIER LETTER LEFT HALF RING
ˀ 704 02C0   MODIFIER LETTER GLOTTAL STOP
ˁ 705 02C1   MODIFIER LETTER REVERSED GLOTTAL STOP
˂ 706 02C2   MODIFIER LETTER LEFT ARROWHEAD
˃ 707 02C3   MODIFIER LETTER RIGHT ARROWHEAD
˄ 708 02C4   MODIFIER LETTER UP ARROWHEAD
˅ 709 02C5   MODIFIER LETTER DOWN ARROWHEAD
ˆ 710 02C6 &circ; MODIFIER LETTER CIRCUMFLEX ACCENT
ˇ 711 02C7   CARON
ˈ 712 02C8   MODIFIER LETTER VERTICAL LINE
ˉ 713 02C9   MODIFIER LETTER MACRON
ˊ 714 02CA   MODIFIER LETTER ACUTE ACCENT
ˋ 715 02CB   MODIFIER LETTER GRAVE ACCENT
ˌ 716 02CC   MODIFIER LETTER LOW VERTICAL LINE
ˍ 717 02CD   MODIFIER LETTER LOW MACRON
ˎ 718 02CE   MODIFIER LETTER LOW GRAVE ACCENT
ˏ 719 02CF   MODIFIER LETTER LOW ACUTE ACCENT
ː 720 02D0   MODIFIER LETTER TRIANGULAR COLON
ˑ 721 02D1   MODIFIER LETTER HALF TRIANGULAR COLON
˒ 722 02D2   MODIFIER LETTER CENTRED RIGHT HALF RING
˓ 723 02D3   MODIFIER LETTER CENTRED LEFT HALF RING
˔ 724 02D4   MODIFIER LETTER UP TACK
˕ 725 02D5   MODIFIER LETTER DOWN TACK
˖ 726 02D6   MODIFIER LETTER PLUS SIGN
˗ 727 02D7   MODIFIER LETTER MINUS SIGN
˘ 728 02D8   BREVE
˙ 729 02D9   DOT ABOVE
˚ 730 02DA   RING ABOVE
˛ 731 02DB   OGONEK
˜ 732 02DC &tilde; SMALL TILDE
˝ 733 02DD   DOUBLE ACUTE ACCENT
˞ 734 02DE   MODIFIER LETTER RHOTIC HOOK
˟ 735 02DF   MODIFIER LETTER CROSS ACCENT
ˠ 736 02E0   MODIFIER LETTER SMALL GAMMA
ˡ 737 02E1   MODIFIER LETTER SMALL L
ˢ 738 02E2   MODIFIER LETTER SMALL S
ˣ 739 02E3   MODIFIER LETTER SMALL X
ˤ 740 02E4   MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
˥ 741 02E5   MODIFIER LETTER EXTRA-HIGH TONE BAR
˦ 742 02E6   MODIFIER LETTER HIGH TONE BAR
˧ 743 02E7   MODIFIER LETTER MID TONE BAR
˨ 744 02E8   MODIFIER LETTER LOW TONE BAR
˩ 745 02E9   MODIFIER LETTER EXTRA-LOW TONE BAR
˪ 746 02EA   MODIFIER LETTER YIN DEPARTING TONE MARK
˫ 747 02EB   MODIFIER LETTER YANG DEPARTING TONE MARK
ˬ 748 02EC   MODIFIER LETTER VOICING
˭ 749 02ED   MODIFIER LETTER UNASPIRATED
ˮ 750 02EE   MODIFIER LETTER DOUBLE APOSTROPHE
˯ 751 02EF   MODIFIER LETTER LOW DOWN ARROWHEAD
˰ 752 02F0   MODIFIER LETTER LOW UP ARROWHEAD
˱ 753 02F1   MODIFIER LETTER LOW LEFT ARROWHEAD
˲ 754 02F2   MODIFIER LETTER LOW RIGHT ARROWHEAD
˳ 755 02F3   MODIFIER LETTER LOW RING
˴ 756 02F4   MODIFIER LETTER MIDDLE GRAVE ACCENT
˵ 757 02F5   MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
˶ 758 02F6   MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
˷ 759 02F7   MODIFIER LETTER LOW TILDE
˸ 760 02F8   MODIFIER LETTER RAISED COLON
˹ 761 02F9   MODIFIER LETTER BEGIN HIGH TONE
˺ 762 02FA   MODIFIER LETTER END HIGH TONE
˻ 763 02FB   MODIFIER LETTER BEGIN LOW TONE
˼ 764 02FC   MODIFIER LETTER END LOW TONE
˽ 765 02FD   MODIFIER LETTER SHELF
˾ 766 02FE   MODIFIER LETTER OPEN SHELF
˿ 767 02FF   MODIFIER LETTER LOW LEFT ARROW

❮ Previous
Next ❯

Макет кодовой страницы

В следующей таблице суммируется использование кодовых блоков UTF-8 (отдельных байтов или октетов) в формате кодовой страницы. Верхняя половина (от до ) предназначена для байтов, используемых только в однобайтных кодах, поэтому она выглядит как обычная кодовая страница; Нижняя половина — для байтов продолжения (от до ) и (возможно) ведущих байтов (от до ), и поясняется далее в легенде ниже.

UTF-8
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_ NUL0000 SOH00011 STX00022 ETX00033 EOT00044 ENQ00055 ACK00066 BEL00077 BS00088 HT00099 LF000A10 VT000B11 FF000C12 CR000D13 SO000E14 SI000F15
1_ DLE001016 DC1001117 DC2001218 DC3001319 DC4001420 NAK001521 SYN001622 ETB001723 CAN001824 EM001925 SUB001A26 ESC001B27 FS001C28 GS001D29 RS001E30 US001F31
2_ SP002032 !002133 «002234 #002335 $002436 %002537 &002638 002739 (002840 )002941 *002A42 +002B43 ,002C44 002D45 .002E46 002F47
3_ 003048 003149 003250 003351 003452 003553 003654 003755 003856 003957 003A58 ;003B59 <003C60 =003D61 >003E62 ?003F63
4_ @004064 A004165 B004266 C004367 D004468 E004569 F004670 G004771 H004872 I004973 J004A74 K004B75 L004C76 M004D77 N004E78 O004F79
5_ P005080 Q005181 R005282 S005383 T005484 U005585 V005686 W005787 X005888 Y005989 Z005A90 005B91 \005C92 005D93 ^005E94 _005F95
6_ `006096 a006197 b006298 c006399 d0064100 e0065101 f0066102 g0067103 h0068104 i0069105 j006A106 k006B107 l006C108 m006D109 n006E110 o006F111
7_ p0070112 q0071113 r0072114 s0073115 t0074116 u0075117 v0076118 w0077119 x0078120 y0079121 z007A122 {007B123 |007C124 }007D125 ~007E126 DEL007F127
8_ +00128 +01129 +02130 +03131 +04132 +05133 +06134 +07135 +08136 +09137 +0A138 +0B139 +0C140 +0D141 +0E142 +0F143
9_ +10144 +11145 +12146 +13147 +14148 +15149 +16150 +17151 +18152 +19153 +1A154 +1B155 +1C156 +1D157 +1E158 +1F159
A_ +20160 +21161 +22162 +23163 +24164 +25165 +26166 +27167 +28168 +29169 +2A170 +2B171 +2C172 +2D173 +2E174 +2F175
B_ +30176 +31177 +32178 +33179 +34180 +35181 +36182 +37183 +38184 +39185 +3A186 +3B187 +3C188 +3D189 +3E190 +3F191
2-byteC_ 0000192 0040193 Latin0080194 Latin00C0195 Latin0100196 Latin0140197 Latin0180198 Latin01C0199 Latin0200200 IPA0240201 IPA0280202 IPA02C0203 accents0300204 accents0340205 Greek0380206 Greek03C0207
2-byteD_ Cyril0400208 Cyril0440209 Cyril0480210 Cyril04C0211 Cyril0500212 Armeni0540213 Hebrew0580214 Hebrew05C0215 Arabic0600216 Arabic0640217 Arabic0680218 Arabic06C0219 Syriac0700220 Arabic0740221 Thaana0780222 N’Ko07C0223
3-byteE_ Indic0800*224 Misc.1000225 Symbol2000226 Kana, CJK3000227 CJK4000228 CJK5000229 CJK6000230 CJK7000231 CJK8000232 CJK9000233 AsianA000234 HangulB000235 HangulC000236 HangulD000237 PUAE000238 FormsF000239
4‑byteF_ SMP, SIP10000*240 40000241 80000242 SSP, SPUAC0000243 SPUA-B100000244 140000245 180000246 1C0000247 5-byte200000*248 5-byte1000000249 5-byte2000000250 5-byte3000000251 6-byte4000000*252 6-byte40000000253 254 255

Оранжевые ячейки с большой точкой являются байтами продолжения. Шестнадцатеричное число, указанное после знака «+», представляет собой значение шести бит, которые они добавляют.

Белые ячейки — это ведущие байты для последовательности из нескольких байтов, длина показана слева от строки. Текст показывает блоки Unicode, закодированные последовательностями, начинающимися с этого байта, а шестнадцатеричная кодовая точка, показанная в ячейке, является самым младшим символьным значением, закодированным с использованием этого старшего байта.

Красные клетки никогда не должны появляться в действительной последовательности UTF-8. Первые два (C0 и C1) могли использоваться только для недопустимого «чрезмерного кодирования» символов ASCII (то есть, пытаясь закодировать 7-битное значение ASCII между 0 и 127, используя два байта вместо одного, см. Ниже). Оставшиеся красные ячейки указывают ведущие байты последовательностей, которые могут только кодировать числа, превышающие предел 0x10FFFF в Юникоде, или которые также никогда не использовались в исходном проекте для 31 бита (FE и FF).

Розовые ячейки являются ведущими байтами для последовательности из нескольких байтов, из которых допустимы некоторые, но не все возможные последовательности продолжения. E0 и F0 могут начинать сглаженные кодировки, в этом случае отображается самая низкая незашифрованная кодовая точка, помеченная звездочкой «*». F4 может запускать кодовые точки более 0x10FFFF, которые являются недопустимыми. ED может начать кодирование суррогатной половины, которая не может быть закодирована в UTF-16 и также недействительна.

Is it a ranking factor for SEO?

The character set is not a ranking factor for search engine optimization. Most search engines focus on the important goal of delivering relevant, useful content to those who seek it and as such does not consider other outside factors that do not contribute to that goal.

So your character set matters because of how you transmit information but search engines are not interested in it. Using other charsets apart from Utf-8 will not decrease your SEO ranking because to a large extent it doesn’t matter what character encoding you use as long as the search engine is able to get information to the end users.

Неправильная кодировка HTML страниц

Создадим тестовый файлик:

sudo gedit /var/www/html/encoding.html

Скопируем в него следующий HTML код, в котором отсутствует указание кодировки и посмотрим, какие проблемы могут с ним возникнуть и как их решить:

<html>
  <head>
    <title>Проверка кодировки</title>
   </head>
  <body>
    <h1>Тестовый файл для проверки кодировки</h1>
  </body>
</html>

Откроем этот файл в браузере http://localhost/encoding.html

Как можно видеть, кодировка браузером определена неправильно:

Имеется несколько способов исправить эту ситуацию. Начнём с самого простого – явно указать кодировку для веб-страницы. Это делается метатегом, который должен быть расположен внутри тэга head:

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

Добавим эту строку к нашему тестовому файлику, чтобы получилось так:

<html>
  <head>
    <title>Проверка кодировки</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
   </head>
  <body>
    <h1>Тестовый файл для проверки кодировки</h1>
  </body>
</html>

Как мы можем убедиться на следующем скриншоте, проблема решена:

Если кодировка вашего файла отличается от UTF-8, то вместо неё поставьте windows-1251 или ту, которая соответствует кодировке веб-страницы. Чтобы научиться определять кодировку файлов, посмотрите эту инструкцию.

Это был самый простой способ исправления проблемы с кодировкой – без изменения настроек сервера.

Вернём наш тестовый файл в исходное состояние и продолжим изучение способов указания кодировки.

Если файлы .htaccess включены настройками Apache, то эти файлы можно использовать чтобы указывать кодировку отправляемых веб-сервером страниц. Чтобы включить поддержку файлов .htaccess в конфигурационном файле Apache ( /etc/apache2/apache2.conf ) найдите группу строк

<Directory /var/www/>
	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>

И в ней замените

AllowOverride None

на

AllowOverride All

После этого сервер нужно перезапустить.

sudo systemctl restart apache2.service

Файл .htaccess должен быть размещён в той же директории, что и сайт. Мой сайт размещён в корневой директории веб-сервера. Если у вас также, то теперь в папке /var/www/html/ создайте файл .htaccess и добавьте в него директиву AddDefaultCharset после которой укажите желаемую кодировку. Примеры

AddDefaultCharset UTF-8

ИЛИ

AddDefaultCharset windows-1251

Можно указать кодировку, которая будет применена только к файлам определённого формата:

AddCharset utf-8 .atom .css .js .json .rss .vtt .xml

Набор файлов может быть любым, например:

AddCharset utf-8 .html .css .php .txt .js

Следующий вариант является альтернативным и также позволяет устанавливать кодировку для файлов определённого типа, для него нужно, чтобы был включён mod_headers:

<Files ~ "\.html?$">  
     Header set Content-Type "text/html; charset=utf-8"
</Files>

Ещё один вариант, который также можно использовать в файле .htaccess для установки кодировки UTF-8:

IndexOptions +Charset=utf-8

Если сайт на PHP, то дополнительно может понадобиться продублировать кодировку с php_value default_charset:

AddDefaultCharset windows-1251
php_value default_charset "cp1251"

Можно вместо создания файла .htaccess установить кодировку в конфигурационном файле веб-сервера. Для Apache CentOS/Fedora это файл httpd.conf, а на Debian/Ubuntu это файл apache2.conf. Добавьте следующую строку для установки кодировки и перезапустите веб-сервер, чтобы изменения вступили в силу:

AddDefaultCharset UTF-8

Виды кодировок

Существует довольно много видов, но сейчас распространены два:

UTF-8

Unicode Transformation Format — универсальный стандарт кодирования, который работает с символами почти всех языков мира. Символы могут занимать от 1 до 4 байт, такое кодирование позволяет создавать мультиязычные сайты.

Есть несколько вариантов — UTF-8, 16, 32, но чаще используют восьмибитное.

Windows-1251

Этот вид занимает второе место по популярности после UTF-8. Windows-1251 — кодирование для кириллицы, созданное на базе кодировок, использовавшихся в русификаторах операционной системы Windows. В ней есть все символы, которые используются в русской типографике, кроме значка ударения. Символы занимают 1 байт.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector