Кодировка utf

UTF-8 Basic Latin

Char Dec Hex Entity Name
32 0020   SPACE
! 33 0021   EXCLAMATION MARK
« 34 0022 " QUOTATION MARK
# 35 0023   NUMBER SIGN
$ 36 0024   DOLLAR SIGN
% 37 0025   PERCENT SIGN
& 38 0026 & AMPERSAND
39 0027   APOSTROPHE
( 40 0028   LEFT PARENTHESIS
) 41 0029   RIGHT PARENTHESIS
* 42 002A   ASTERISK
+ 43 002B   PLUS SIGN
, 44 002C   COMMA
45 002D   HYPHEN-MINUS
. 46 002E   FULL STOP
47 002F   SOLIDUS
48 0030   DIGIT ZERO
1 49 0031   DIGIT ONE
2 50 0032   DIGIT TWO
3 51 0033   DIGIT THREE
4 52 0034   DIGIT FOUR
5 53 0035   DIGIT FIVE
6 54 0036   DIGIT SIX
7 55 0037   DIGIT SEVEN
8 56 0038   DIGIT EIGHT
9 57 0039   DIGIT NINE
58 003A   COLON
; 59 003B   SEMICOLON
< 60 003C &lt; LESS-THAN SIGN
= 61 003D   EQUALS SIGN
> 62 003E &gt; GREATER-THAN SIGN
? 63 003F   QUESTION MARK
@ 64 0040   COMMERCIAL AT
A 65 0041   LATIN CAPITAL LETTER A
B 66 0042   LATIN CAPITAL LETTER B
C 67 0043   LATIN CAPITAL LETTER C
D 68 0044   LATIN CAPITAL LETTER D
E 69 0045   LATIN CAPITAL LETTER E
F 70 0046   LATIN CAPITAL LETTER F
G 71 0047   LATIN CAPITAL LETTER G
H 72 0048   LATIN CAPITAL LETTER H
I 73 0049   LATIN CAPITAL LETTER I
J 74 004A   LATIN CAPITAL LETTER J
K 75 004B   LATIN CAPITAL LETTER K
L 76 004C   LATIN CAPITAL LETTER L
M 77 004D   LATIN CAPITAL LETTER M
N 78 004E   LATIN CAPITAL LETTER N
O 79 004F   LATIN CAPITAL LETTER O
P 80 0050   LATIN CAPITAL LETTER P
Q 81 0051   LATIN CAPITAL LETTER Q
R 82 0052   LATIN CAPITAL LETTER R
S 83 0053   LATIN CAPITAL LETTER S
T 84 0054   LATIN CAPITAL LETTER T
U 85 0055   LATIN CAPITAL LETTER U
V 86 0056   LATIN CAPITAL LETTER V
W 87 0057   LATIN CAPITAL LETTER W
X 88 0058   LATIN CAPITAL LETTER X
Y 89 0059   LATIN CAPITAL LETTER Y
Z 90 005A   LATIN CAPITAL LETTER Z
91 005B   LEFT SQUARE BRACKET
\ 92 005C   REVERSE SOLIDUS
93 005D   RIGHT SQUARE BRACKET
^ 94 005E   CIRCUMFLEX ACCENT
_ 95 005F   LOW LINE
` 96 0060   GRAVE ACCENT
a 97 0061   LATIN SMALL LETTER A
b 98 0062   LATIN SMALL LETTER B
c 99 0063   LATIN SMALL LETTER C
d 100 0064   LATIN SMALL LETTER D
e 101 0065   LATIN SMALL LETTER E
f 102 0066   LATIN SMALL LETTER F
g 103 0067   LATIN SMALL LETTER G
h 104 0068   LATIN SMALL LETTER H
i 105 0069   LATIN SMALL LETTER I
j 106 006A   LATIN SMALL LETTER J
k 107 006B   LATIN SMALL LETTER K
l 108 006C   LATIN SMALL LETTER L
m 109 006D   LATIN SMALL LETTER M
n 110 006E   LATIN SMALL LETTER N
o 111 006F   LATIN SMALL LETTER O
p 112 0070   LATIN SMALL LETTER P
q 113 0071   LATIN SMALL LETTER Q
r 114 0072   LATIN SMALL LETTER R
s 115 0073   LATIN SMALL LETTER S
t 116 0074   LATIN SMALL LETTER T
u 117 0075   LATIN SMALL LETTER U
v 118 0076   LATIN SMALL LETTER V
w 119 0077   LATIN SMALL LETTER W
x 120 0078   LATIN SMALL LETTER X
y 121 0079   LATIN SMALL LETTER Y
z 122 007A   LATIN SMALL LETTER Z
{ 123 007B   LEFT CURLY BRACKET
| 124 007C   VERTICAL LINE
} 125 007D   RIGHT CURLY BRACKET
~ 126 007E   TILDE

Тег

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

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

Тег <title> является одним из наиболее важных тегов на странице. Рассмотрим небольшой список рекомендаций, которых нужно придерживаться для написания оптимизированного заголовка для поисковых систем:

  • Длина заголовка не должна превышать 70 символов, включая пробелы.
  • Самые важные ключевые слова нужно располагать первыми в заголовке, т.е. поисковые системы будут определять ценность ключевых слов по их очередности в заголовке: первое будет считаться наиболее важным, последнее — наименее.
  • Для разделения ключевых слов или фраз лучше использовать вертикальную черту «|». Знаки пунктуации, подчеркивания и другие символы разделители желательно не использовать или использовать в тех случаях, когда ключевое слово или фразу без них написать нельзя.
  • Старайтесь исключить из заголовка разные частицы речи (например: и, если, но, потом и т.д.).
  • Можно включить в заголовок название сайта или фирмы, если название является частью ключей фразы, или если это бренд, видя который, пользователи будут заходить именно на ваш сайт.
  • Не дублируйте текст тега <title>, заголовок должен быть уникальным для каждой страницы сайта.
  • Заголовок должен быть актуален для страницы, он должен описывать то, что в данный момент представлено на странице, например его можно написать так:
<title>Тема страницы|Ключевые слова|Название компании или сайта</title>
<!-- или так -->
<title>Ключевые слова|О нас|Название компании или сайта</title>

Range: Decimal 768-879. Hex 0300-036F.

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 ã

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
768 0300   GRAVE ACCENT
769 0301   ACUTE ACCENT
770 0302   CIRCUMFLEX ACCENT
771 0303   TILDE
772 0304   MACRON
773 0305   OVERLINE
774 0306   BREVE
775 0307   DOT ABOVE
776 0308   DIAERESIS
777 0309   HOOK ABOVE
778 030A   RING ABOVE
779 030B   DOUBLE ACUTE ACCENT
780 030C   CARON
781 030D   VERTICAL LINE ABOVE
782 030E   DOUBLE VERTICAL LINE ABOVE
783 030F   DOUBLE GRAVE ACCENT
784 0310   CANDRABINDU
785 0311   INVERTED BREVE
786 0312   TURNED COMMA ABOVE
787 0313   COMMA ABOVE
788 0314   REVERSED COMMA ABOVE
789 0315   COMMA ABOVE RIGHT
790 0316   GRAVE ACCENT BELOW
791 0317   ACUTE ACCENT BELOW
792 0318   LEFT TACK BELOW
793 0319   RIGHT TACK BELOW
794 031A   LEFT ANGLE ABOVE
795 031B   HORN
796 031C   LEFT HALF RING BELOW
797 031D   UP TACK BELOW
798 031E   DOWN TACK BELOW
799 031F   PLUS SIGN BELOW
800 0320   MINUS SIGN BELOW
801 0321   PALATALIZED HOOK BELOW
802 0322   RETROFLEX HOOK BELOW
803 0323   DOT BELOW
804 0324   DIAERESIS BELOW
805 0325   RING BELOW
806 0326   COMMA BELOW
807 0327   CEDILLA
808 0328   OGONEK
809 0329   VERTICAL LINE BELOW
810 032A   BRIDGE BELOW
811 032B   INVERTED DOUBLE ARCH BELOW
812 032C   CARON BELOW
813 032D   CIRCUMFLEX ACCENT BELOW
814 032E   BREVE BELOW
815 032F   INVERTED BREVE BELOW
816 0330   TILDE BELOW
817 0331   MACRON BELOW
818 0332   LOW LINE
819 0333   DOUBLE LOW LINE
820 0334   TILDE OVERLAY
821 0335   SHORT STROKE OVERLAY
822 0336   LONG STROKE OVERLAY
823 0337   SHORT SOLIDUS OVERLAY
824 0338   LONG SOLIDUS OVERLAY
825 0339   RIGHT HALF RING BELOW
826 033A   INVERTED BRIDGE BELOW
827 033B   SQUARE BELOW
828 033C   SEAGULL BELOW
829 033D   X ABOVE
830 033E   VERTICAL TILDE
o̿ 831 033F   DOUBLE OVERLINE
832 0340   GRAVE TONE MARK
833 0341   ACUTE TONE MARK
834 0342   GREEK PERISPOMENI (combined with theta)
835 0343   GREEK KORONIS (combined with theta)
836 0344   GREEK DIALYTIKA TONOS (combined with theta)
837 0345   GREEK YPOGEGRAMMENI (combined with theta)
838 0346   BRIDGE ABOVE
839 0347   EQUALS SIGN BELOW
840 0348   DOUBLE VERTICAL LINE BELOW
841 0349   LEFT ANGLE BELOW
842 034A   NOT TILDE ABOVE
843 034B   HOMOTHETIC ABOVE
844 034C   ALMOST EQUAL TO ABOVE
845 034D   LEFT RIGHT ARROW BELOW
846 034E   UPWARDS ARROW BELOW
847 034F   GRAPHEME JOINER
848 0350   RIGHT ARROWHEAD ABOVE
849 0351   LEFT HALF RING ABOVE
850 0352   FERMATA
851 0353   X BELOW
852 0354   LEFT ARROWHEAD BELOW
853 0355   RIGHT ARROWHEAD BELOW
854 0356   RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
855 0357   RIGHT HALF RING ABOVE
856 0358   DOT ABOVE RIGHT
857 0359   ASTERISK BELOW
858 035A   DOUBLE RING BELOW
859 035B   ZIGZAG ABOVE
͜o 860 035C   DOUBLE BREVE BELOW
͝o 861 035D   DOUBLE BREVE
͞o 862 035E   DOUBLE MACRON
͟o 863 035F   DOUBLE MACRON BELOW
͠o 864 0360   DOUBLE TILDE
͡o 865 0361   DOUBLE INVERTED BREVE
͢o 866 0362   DOUBLE RIGHTWARDS ARROW BELOW
867 0363   LATIN SMALL LETTER A
868 0364   LATIN SMALL LETTER E
869 0365   LATIN SMALL LETTER I
870 0366   LATIN SMALL LETTER O
871 0367   LATIN SMALL LETTER U
872 0368   LATIN SMALL LETTER C
873 0369   LATIN SMALL LETTER D
874 036A   LATIN SMALL LETTER H
875 036B   LATIN SMALL LETTER M
876 036C   LATIN SMALL LETTER R
877 036D   LATIN SMALL LETTER T
878 036E   LATIN SMALL LETTER V
879 036F   LATIN SMALL LETTER X

❮ Previous
Next ❯

keywords (ключевые слова)

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

Самый простой способ подобрать нужные ключевые слова для текущей страницы — это определить по каким словам вы сами стали бы искать материал, представленный на ней? Вот это и будут нужные ключевые слова. Пример:

<meta name="keywords" content="мета тег, meta, метаданные, keywords, description">

Ключевые слова указываются через запятую или пробел и могут быть написаны в любом регистре. Рекомендуется указывать не более 10-15 ключевых слов или словосочетаний.

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

Резюме

  • Кодировка — это соответствие между визуальными символами и числами.
  • Кодировки необходимы, так как компьютеры созданы для работы с числами и не понимают текст.
  • До 1990-х годов не существовало единой кодировки, это приводило к тому, что текст, написанный в одной кодировке, становится совершенно нечитаемым на других.
  • Unicode — единый стандарт кодирования символов. Развитие интернета и необходимость обмена большим количеством текстовой информации приводило к тому, что сейчас все пользуются этим стандартом.
  • UTF-8, UTF-16, UTF-32 и т.п. — это варианты кодировок, основанные на Unicode. Отличаются они тем, что по-разному хранят информацию.
  • UTF-8 — самая популярная кодировка. Особенность её в том, что самые популярные символы кодируются 1-2 байтами, а редко встречающиеся занимают 3-4 байта. Это приводит к существенной экономии памяти, например, при работе с английским текстом.

Ильнар Шафигуллин

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

Любой документ на компьютере или в интернете, как я уже сказал, хранится в виде двоичного кода. К примеру, если вы используете кодировку ASCII, то буква «К» будет записана как 10001010, а windows 1251 под этим числом скрывается символ – Љ. В итоге, если браузер или программа обратится к другой таблице и считает вместо ASCII коды windows 1251, то читатель увидит совершенно непонятные ему символ.

Логичен вопрос, нафига было придумывать множество таблиц с кодами? Дело в том, что помимо русского алфавита существует еще и английский, немецкий, китайский. По некоторым подсчетам, существует около 200 000 символов. Хотя, я не очень доверяю этой статистике, вспоминая про японский.

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

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

Представьте, если бы одна книга весила 4 Гб! Она бы очень долго загружалась, занимала все свободное место на компьютере. Решение о скачивании представлялось бы делом нелегким.

Если вспомнить о сайтах, то вообще страшно подумать, что бы произошло. Каждая страничка открывалась даже на скоростном оптоволокне по часу с лишним! Думаю, мобильные телефоны можно было бы смело выкидывать. Пользоваться ими на улице даже с 4G? Сомневаюсь.

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

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

Сейчас уже, лишь 2% всех страниц в интернете написано на 1251. Большинство веб-мастеров используют UTF-8. Почему так?

Кодирование и декодирование

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

UTF-32LE в UTF-8

Схемой можете воспользоваться при кодировании и раскодировании.

Эта схема сделана так, чтобы вы видели какие биты куда попадают как при кодировании, так и раскодировании.
По ней видно что при этих обоих процессах просто нужные биты выставляются на нужные позиции при нужных значениях контрольных бит.
Можно заметить что компоновка в больших байтовых последовательностях осуществляется по 6 бит (в так называемых лидирующих байтах).
При этом старшие биты предусматриваемого кода будут в первых байтах (схоже с порядком Big-Endian).

Кодирование

Порядок действий такой:

  • Каждый символ превращаем в Unicode.
  • Проверяем из какого диапазона символ.
  • Если код символа меньше 128, то к результату добавляем его в неизменном виде.
  • Если код символа меньше 2048, то берем последние 6 бит и первые 5 бит кода символа. К первым 5 битам добавляем 0xC0 и получаем первый байт последовательности, а к последним 6 битам добавляем 0x80 и получаем второй байт. Конкатенируем и добавляем к результату.
  • Похожим образом можем продолжить и для больших кодов, но если символ за пределами U+FFFF придется иметь дело с UTF-16 суррогатами.

Function EncodeUTF8(s)

    Dim i, c, utfc, b1, b2, b3
    
    For i=1 to Len(s)
        c = ToLong(AscW(Mid(s,i,1)))
 
        If c < 128 Then
            utfc = chr( c)
        ElseIf c < 2048 Then
            b1 = c Mod &h40
            b2 = (c - b1)  &h40
            utfc = chr(&hC0 + b2) & chr(&h80 + b1)
        ElseIf c < 65536 And (c < 55296 Or c > 57343) Then
            b1 = c Mod &h40
            b2 = ((c - b1)  &h40) Mod &h40
            b3 = (c - b1 - (&h40 * b2))  &h1000
            utfc = chr(&hE0 + b3) & chr(&h80 + b2) & chr(&h80 + b1)
        Else
            ' Младший или старший суррогат UTF-16
            utfc = Chr(&hEF) & Chr(&hBF) & Chr(&hBD)
        End If

        EncodeUTF8 = EncodeUTF8 + utfc
    Next
End Function

Function ToLong(intVal)
    If intVal <  Then
        ToLong = CLng(intVal) + &H10000
    Else
        ToLong = CLng(intVal)
    End If
End Function

Декодирование

Декодирование — преобразование зашифрованной информации в понятный, пригодный для непосредственного использования вид.

  • Ищем первый символ вида 11xxxxxx
  • Считаем все последующие байты вида 10xxxxxx
  • Если последовательность из двух байт и первый байт вида 110xxxxx, то отсекаем приставки и складываем, умножив первый байт на 0x40.
  • Аналогично для более длинных последовательностей.
  • Заменяем всю последовательность на нужный символ Unicode.

Function DecodeUTF8(s)

    Dim i, c, n, b1, b2, b3

    i = 1
    Do While i <= len(s)
        c = asc(mid(s,i,1))
        If (c and &hC0) = &hC0 Then
            n = 1
            Do While i + n <= len(s)
                If (asc(mid(s,i+n,1)) and &hC0) <> &h80 Then
                    Exit Do
                End If
                n = n + 1
            Loop
            If n = 2 and ((c and &hE0) = &hC0) Then
                b1 = asc(mid(s,i+1,1)) and &h3F
                b2 = c and &h1F
                c = b1 + b2 * &h40
            Elseif n = 3 and ((c and &hF0) = &hE0) Then
                b1 = asc(mid(s,i+2,1)) and &h3F
                b2 = asc(mid(s,i+1,1)) and &h3F
                b3 = c and &h0F
                c = b3 * &H1000 + b2 * &H40 + b1
            Else
                ' Символ больше U+FFFF или неправильная последовательность
                c = &hFFFD
            End if
            s = left(s,i-1) + chrw( c) + mid(s,i+n)
        Elseif (c and &hC0) = &h80 then
            ' Неожидаемый продолжающий байт
            s = left(s,i-1) + chrw(&hFFFD) + mid(s,i+1)
        End If
        i = i + 1
    Loop
    DecodeUTF8 = s 
End Function

Недостатки и достоинства

UTF-8, в отличие от windows-1251 универсальная кодировка, в ней содержатся буквы различных алфавитов. Существует даже UTF-128, где есть вообще все языки – теулу, суахили, лаосский, мальтийский и так далее.

UTF-8 победнее, буквы занимают в разы меньше места и занимают всего один байт памяти, как и в 1251. В УТФ есть редкие символы из других языков или специальные символы. Они-то и весят по 5-6 байтов, но в документе используются крайне редко.

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

Когда вы создаете html документ для сайта, то указываете браузерам на какую таблицу им обращать внимание при расшифровке записей. Для этого необходимо вставить в тег head следующие данные

После символов «charset=» идет либо утф, либо виндовс, как в примере ниже

Для этого необходимо вставить в тег head следующие данные. После символов «charset=» идет либо утф, либо виндовс, как в примере ниже.

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

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

Если вас заинтересовало правильное создание сайта, то я могу порекомендовать вам курс Михаила Русакова «Создание и Раскрутка сайта от А до Я».

Он содержит в себе очень много – 256 уроков, затрагивающих HTML, CSS, JavaScript, PHP, MySQL и XML. Помимо языков программирования вы сможете понять как монетизировать сайт, то есть скорее и больше получать прибыль. Один из немногих курсов, в котором было бы так подробно разъяснено все, что нужно.

Сам я вот уже год обучаюсь в школе блоггеров Александра Борисова. Это занимает в разы больше времени, конца и края пока не видно, но зато не менее исчерпывающе и дисциплинирует. Мотивирует продолжать разработку.

Ну а если возникают вопросы, не нужно искать по интернету. Всегда есть грамотный наставник.

Что-то я отошел от темы. Давайте вернемся к кодировкам.

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

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 &image; 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 &weierp; SCRIPT CAPITAL P
8473 2119   DOUBLE-STRUCK CAPITAL P
8474 211A   DOUBLE-STRUCK CAPITAL Q
8475 211B   SCRIPT CAPITAL R
8476 211C &real; 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; TRADE MARK SIGN
8483 2123   VERSICLE
8484 2124   DOUBLE-STRUCK CAPITAL Z
8485 2125   OUNCE SIGN
8486 2126 &ohm; OHM SIGN
8487 2127 &mho; 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 &alefsym; 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 ❯

Неправильная кодировка результатов из базы данных 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 вам нужно заменить на ту кодировку, которая используется для ваших таблиц.

Мета тег nofollow

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

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

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

С другой стороны, в эпоху семантического поиска, Google и Яндекс могут рассматривать источники, на которые вы ссылаетесь, как контекст, чтобы лучше понимать контент на страницах сайта.

По обеим этим причинам определённо стоит обращать внимание на то, где и как вы ставите ссылки. По умолчанию все ссылки являются открытыми для роботов поисковых систем

Их обычно называют dofollow-ссылками. Боты свободно переходят по таким ссылкам и сканируют всё, что находится «на том конце». То есть, ставя открытую ссылку на другой сайт, вы заочно выражаете ему доверие

По умолчанию все ссылки являются открытыми для роботов поисковых систем. Их обычно называют dofollow-ссылками. Боты свободно переходят по таким ссылкам и сканируют всё, что находится «на том конце». То есть, ставя открытую ссылку на другой сайт, вы заочно выражаете ему доверие.

Каждый специалист самостоятельно поддерживает SEO-гигиену на своём проекте, сохраняя здоровый баланс между nofollow и dofollow ссылками. Обычно мета тег nofollow устанавливают на следующие типы ссылок:

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

What is meta charset?

A charset or character set in full is essentially a set of characters recognized by the computer the same way the calculator can identify numbers. Each of these characters is represented by a number known as code point and this creates a communication channel for encoding and decoding content.

A character set, therefore, contains characters that serve a specific or particular purpose. The computer stores the characters as one or more bytes. An example is the ASCII character set which represents all English characters and special control characters with numbers from 0-127.

However, most character sets only work for specific languages and recognize limited characters and this makes the coding and encoding difficult or impossible. In modern times, however, the Unicode is the most reliable and universally accepted character set due to its ability to translate codes and numbers easily.

You can see the meta charset in the header of your html code

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

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

Adblock
detector