Как узнать кодировку сайта

Как узнать кодировку сайта Хостинг

Как кодировка влияет на отображение сайта, чем отличается UTF-8 от Windows 1251 и где указать кодировку.

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

Коллеги всем привет.

В сегодняшней статье мы поговорим о том посмотреть как у вас установлена кодировка на сайте.

Иногда требуется узнать как у вас установлена кодировка на сайте, но не все знают как это сделать, и многие начинающие веб разработчики борются с каракулями на странице или же при добавлении информации в базу данных и контент превращается в кучу непонятных символов. Проверить какая у вас на данный момент установлена кодировка на сайте можно двумя способами. Первый способ это использовать php функцию mb_internal_encoding(), а второй с использованием php функции phpinfo().

В видео о том, как сделать поиск на сайте от Google я чуть упомянул про кодировку. А в этой маленькой статье опишу данный процесс текстом.

Как узнать кодировку сайта

Если вы хотите знать, какова кодировка на страницах вашего интернет-проекта, то проще всего сделать это так:

1) Откройте любую веб-страницу

2) Взгляните на её исходный код. Сделать это можно, нажав сочетание клавиш CTRL+U, — если не помогает, то щёлкните правой кнопкой мышки на любом месте страницы и в появившемся меню выберите что-то вроде этого:

Просмотр кода страницы в Google Chrome

3) Просматривая исходный код, нажмите CTRL+F (появится окно поиска — в разных браузерах — в разных местах).

4) Теперь надо ввести поисковый запрос. Какой?Т.к. кодировка задаётся специальным мета-тегом, то надо найти примерно такой код:

Мета тег с кодировкой

Поэтому можно в поиске ввести слово charset и посмотреть, что найдётся.

Вполне возможно, что ничего и не найдётся — значит кодировка не задана и её не узнать. Это не очень хорошо, поэтому лучше добавьте код:

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

Наверное, это всё про то, как можно узнать кодировку сайта. Хотя очень велика вероятность, что это будет UTF-8 (и вероятность поменьше, что будет windows-1251). Если, например, вы создали сайт на WordPress, то можете вообще не проверять — там точно UTF-8.

Сейчас всё больше и больше веб-ресурсов создаются в кодировке UTF-8. Скорей всего, и ваш там ;).

Как узнать кодировку

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

Как узнать кодировку

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

Узнать кодировку можно, просмотрев HTML-код страницы. Для этого в браузерах есть опция, обычно расположенная в меню «Вид», которая называется «Исходный код». Зайдите на любую страницу в Интернете. Чтобы узнать кодировку перейдите в режим просмотра ее HTML-кода. С помощью опции поиска найдите в нем параметр “charset”. Способ кодировки задается именно им. Указанный рядом с параметром набор символов, например, Windows-1251, utf-8 и другие, и будет тем типом кодировки, который используется на данной странице.

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

Видео по теме

https://youtube.com/watch?v=DNU5cZNEP1w%3Fwmode%3Dtransparent

  • Проблема с кодировкой сайта или Как избавиться от кракозябр

Забыли пароль?
Еще не зарегистрированы?

Как найти код страницы

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

Как найти код страницы

Если вы работаете в браузере Internet Explorer, выберите вкладку под названием «вид», после этого «исходный код страницы». Чтобы посмотреть в этом браузере код, зайдите в меню «сервис», а затем «средства разработчика», нажмите на стрелку, выделите необходимый элемент на странице. Зашифрованный разработчиком код появится. Нажмите на значок, сохраните полученный код в текстовом формате и копируйте из его составляющих в html.

В браузере Mozilla Firefox код можно найти также просто. Наберите команду «Ctrl+U». Также можно в меню «инструменты» нажать подстроку «посмотреть исходный код». Установите расширение Web Developer,выберите в меню «код» подстроку «сгенерированный код». Внизу страницы появится исходный код. Сохраните с расширением page.htm или скопируйте файл в буфер обмена.

Google Chrome – браузер, в котором найти код еще проще. Правой кнопкой мышки щелкните по странице, появится окно. Выберите строку «Посмотреть код страницы», исходный код откроется в отдельной вкладке. Кроме того, в том же меню можете нажать строку «Просмотр кода элемента» и тогда браузер в этой же вкладке откроет два фрейма, где вы можете посмотреть HTML и CSS-код каждого элемента страницы. Браузер станет реагировать на движение курсора по строкам исходного кода, подсвечивая элементы, которые соответствуют данному участку HTML-кода.

Читайте также:  Демистификация DDoS-атак: защитите свой сайт от онлайн-угроз

Найдите код в браузере Opera следующим образом. В меню «вид» выберите строку «средства разработки», а в нем «исходный код страницы», также можно набрать комбинацию «Ctrl+U».

Желая найти исходный код страницы в браузере Apple Safari, откройте раздел «вид», в котором нажмите строку «Просмотр HTML-кода», затем щелкните правой кнопкой мыши и откройте подстроку «посмотреть источник». Также можно набрать комбинацию «Ctrl+Alt+U». Код откроется в отдельном окне.

  • как сохранить код элемента

Забыли пароль?
Еще не зарегистрированы?

Как узнать кодировку сайта

На современных веб-страницах в основном используется кодировка Unicode. Но некоторые ресурсы созданы давно и с тех пор ни разу не модернизировались. К тому же даже при просмотре современного сайта браузер может определить кодировку неправильно.

Как узнать кодировку сайта

Возможно, в браузере случайно было отключено автоматическое определение кодировки. Попробуйте включить его. Для этого выберите в меню подпункт «Вид» — «Кодировка» (в старых версиях Opera, а также во многих других браузерах) либо «Страница» — «Кодировка» (в новых версиях Opera). Включите режим, который может носить название «Автоматически» или «Выбрать автоматически». Возможно, после этого текст на странице сразу станет читаемым.

Если отображение страницы не стало нормальным, найдите правильную кодировку вручную. Для этого перейдите к тому же подпункту меню, что и в предыдущем случае, но вместо автоматического режима выберите кодировку KOI-8R — на сайтах, созданных до перехода на Unicode, она встречается чаще всего. При неудаче попробуйте тем же способом выбрать кодировки CP1251, CP866, а если не поможет и это, перепробуйте все остальные стандарты из категории «Кириллица».

Сведения о кодировке страницы обычно хранятся в ее исходном коде, и именно на основании этих данных ее определяет браузер. Чтобы прочитать исходный код страницы, выберите в меню, в зависимости от браузера, пункт «Вид» — «Исходный код» либо «Страница» — «Средства разработки» — «Исходный код». В самом начале текста найдите строку следующего вида:meta http-equiv=»Content-Type» content=»text/html; charset=encodingname», где encodingname — название кодировки. Затем выберите в меню браузера именно эту кодировку.

Стандартные средства браузера бессильны, если используется малораспространенная кодировка, либо текст был подвергнут многократному перекодированию. Чтобы расшифровать его, перейдите на страницу онлайн-декодера, например, http://www.artlebedev.ru/tools/decoder/. Поместите фрагмент текста со страницы в поле ввода и нажмите кнопку «Расшифровать». Чтобы это сделать, выделите текст мышью, нажмите Ctrl+C, перейдите в поле ввода и нажмите Ctrl+V. В случае успеха вместе с расшифрованным текстом вы получите информацию о том, в какой кодировке он был.

Видео по теме

https://youtube.com/watch?v=i25mfiLzTxA%3Fwmode%3Dtransparent

Забыли пароль?
Еще не зарегистрированы?

У вас кодировка в метатегах на сайте стоит WINDOWS-1251. А в настройках web-сервера в заголовках отправляет отображать как UTF-8. По факту — кодировка KOI8-R.

Я даже вам напишу функцию, которая переконвертирует любой текст из KOI8-R в UTF-8.

Версия для PHP.

<? 
function chr_utf8 ( $num ) {   
  if ( $num < 128 ) {
    return chr ( $num );
  }
  if ($num < 2048) {
    return chr ( ( $num >> 6 ) + 192 ) . 
           chr ( ( $num & 63 ) + 128 ); 
  }
  if ($num < 65536) {
    return chr ( ( $num >> 12 ) + 224 ) . 
           chr ( ( ( $num >> 6 ) & 63 ) + 128 ) . 
           chr ( ( $num & 63 ) + 128 );
  }
  if ($num < 2097152) {
    return chr ( ( $num >> 18 ) + 240 ) . 
           chr ( ( ( $num >> 12 ) & 63 ) + 128 ) . 
           chr ( ( ( $num >> 6 ) & 63 ) + 128 ) . 
           chr ( ( $num & 63 ) + 128 );
  }
  return '';
}
function koi8r_utf8 ( $str ) {
  $map = [
    0x80 => 0x2500, 0x81 => 0x2502, 0x82 => 0x250C, 0x83 => 0x2510, 
    0x84 => 0x2514, 0x85 => 0x2518, 0x86 => 0x251C, 0x87 => 0x2524, 
    0x88 => 0x252C, 0x89 => 0x2534, 0x8A => 0x253C, 0x8B => 0x2580, 
    0x8C => 0x2584, 0x8D => 0x2588, 0x8E => 0x258C, 0x8F => 0x2590, 
    0x90 => 0x2591, 0x91 => 0x2592, 0x92 => 0x2593, 0x93 => 0x2320, 
    0x94 => 0x25A0, 0x95 => 0x2219, 0x96 => 0x221A, 0x97 => 0x2248, 
    0x98 => 0x2264, 0x99 => 0x2265, 0x9A => 0x00A0, 0x9B => 0x2321, 
    0x9C => 0x00B0, 0x9D => 0x00B2, 0x9E => 0x00B7, 0x9F => 0x00F7, 
    0xA0 => 0x2550, 0xA1 => 0x2551, 0xA2 => 0x2552, 0xA3 => 0x0451, 
    0xA4 => 0x2553, 0xA5 => 0x2554, 0xA6 => 0x2555, 0xA7 => 0x2556, 
    0xA8 => 0x2557, 0xA9 => 0x2558, 0xAA => 0x2559, 0xAB => 0x255A, 
    0xAC => 0x255B, 0xAD => 0x255C, 0xAE => 0x255D, 0xAF => 0x255E, 
    0xB0 => 0x255F, 0xB1 => 0x2560, 0xB2 => 0x2561, 0xB3 => 0x0401, 
    0xB4 => 0x2562, 0xB5 => 0x2563, 0xB6 => 0x2564, 0xB7 => 0x2565, 
    0xB8 => 0x2566, 0xB9 => 0x2567, 0xBA => 0x2568, 0xBB => 0x2569, 
    0xBC => 0x256A, 0xBD => 0x256B, 0xBE => 0x256C, 0xBF => 0x00A9, 
    0xC0 => 0x044E, 0xC1 => 0x0430, 0xC2 => 0x0431, 0xC3 => 0x0446, 
    0xC4 => 0x0434, 0xC5 => 0x0435, 0xC6 => 0x0444, 0xC7 => 0x0433, 
    0xC8 => 0x0445, 0xC9 => 0x0438, 0xCA => 0x0439, 0xCB => 0x043A, 
    0xCC => 0x043B, 0xCD => 0x043C, 0xCE => 0x043D, 0xCF => 0x043E, 
    0xD0 => 0x043F, 0xD1 => 0x044F, 0xD2 => 0x0440, 0xD3 => 0x0441, 
    0xD4 => 0x0442, 0xD5 => 0x0443, 0xD6 => 0x0436, 0xD7 => 0x0432, 
    0xD8 => 0x044C, 0xD9 => 0x044B, 0xDA => 0x0437, 0xDB => 0x0448, 
    0xDC => 0x044D, 0xDD => 0x0449, 0xDE => 0x0447, 0xDF => 0x044A, 
    0xE0 => 0x042E, 0xE1 => 0x0410, 0xE2 => 0x0411, 0xE3 => 0x0426, 
    0xE4 => 0x0414, 0xE5 => 0x0415, 0xE6 => 0x0424, 0xE7 => 0x0413, 
    0xE8 => 0x0425, 0xE9 => 0x0418, 0xEA => 0x0419, 0xEB => 0x041A, 
    0xEC => 0x041B, 0xED => 0x041C, 0xEE => 0x041D, 0xEF => 0x041E, 
    0xF0 => 0x041F, 0xF1 => 0x042F, 0xF2 => 0x0420, 0xF3 => 0x0421, 
    0xF4 => 0x0422, 0xF5 => 0x0423, 0xF6 => 0x0416, 0xF7 => 0x0412, 
    0xF8 => 0x042C, 0xF9 => 0x042B, 0xFA => 0x0417, 0xFB => 0x0428, 
    0xFC => 0x042D, 0xFD => 0x0429, 0xFE => 0x0427, 0xFF => 0x042A, 
  ];
  $res = '';
  $len = strlen ( $str );
  for ( $i = 0; $i < $len; $i ++ ) {
    $ccode = ord ( $str [ $i ] );
    $ucode = $ccode < 128 ? $ccode : $map[$ccode];
    $res .= chr_utf8 ( $ucode );
  }
  return $res;
}

Версия для JavaScript.

function koi8rtoutf8 ( buf ) {
  if( buf instanceof ArrayBuffer ) {
    buf = new Uint8Array ( buf );
  }
  if( ! Array.isArray ( buf ) ) {
    buf = [ ... buf ];
  }
  const map = new Map ( [
      [0x80,0x2500], [0x81,0x2502], [0x82,0x250C], [0x83,0x2510], 
      [0x84,0x2514], [0x85,0x2518], [0x86,0x251C], [0x87,0x2524], 
      [0x88,0x252C], [0x89,0x2534], [0x8A,0x253C], [0x8B,0x2580], 
      [0x8C,0x2584], [0x8D,0x2588], [0x8E,0x258C], [0x8F,0x2590], 
      [0x90,0x2591], [0x91,0x2592], [0x92,0x2593], [0x93,0x2320], 
      [0x94,0x25A0], [0x95,0x2219], [0x96,0x221A], [0x97,0x2248], 
      [0x98,0x2264], [0x99,0x2265], [0x9A,0x00A0], [0x9B,0x2321], 
      [0x9C,0x00B0], [0x9D,0x00B2], [0x9E,0x00B7], [0x9F,0x00F7], 
      [0xA0,0x2550], [0xA1,0x2551], [0xA2,0x2552], [0xA3,0x0451], 
      [0xA4,0x2553], [0xA5,0x2554], [0xA6,0x2555], [0xA7,0x2556], 
      [0xA8,0x2557], [0xA9,0x2558], [0xAA,0x2559], [0xAB,0x255A], 
      [0xAC,0x255B], [0xAD,0x255C], [0xAE,0x255D], [0xAF,0x255E], 
      [0xB0,0x255F], [0xB1,0x2560], [0xB2,0x2561], [0xB3,0x0401], 
      [0xB4,0x2562], [0xB5,0x2563], [0xB6,0x2564], [0xB7,0x2565], 
      [0xB8,0x2566], [0xB9,0x2567], [0xBA,0x2568], [0xBB,0x2569], 
      [0xBC,0x256A], [0xBD,0x256B], [0xBE,0x256C], [0xBF,0x00A9], 
      [0xC0,0x044E], [0xC1,0x0430], [0xC2,0x0431], [0xC3,0x0446], 
      [0xC4,0x0434], [0xC5,0x0435], [0xC6,0x0444], [0xC7,0x0433], 
      [0xC8,0x0445], [0xC9,0x0438], [0xCA,0x0439], [0xCB,0x043A], 
      [0xCC,0x043B], [0xCD,0x043C], [0xCE,0x043D], [0xCF,0x043E], 
      [0xD0,0x043F], [0xD1,0x044F], [0xD2,0x0440], [0xD3,0x0441], 
      [0xD4,0x0442], [0xD5,0x0443], [0xD6,0x0436], [0xD7,0x0432], 
      [0xD8,0x044C], [0xD9,0x044B], [0xDA,0x0437], [0xDB,0x0448], 
      [0xDC,0x044D], [0xDD,0x0449], [0xDE,0x0447], [0xDF,0x044A], 
      [0xE0,0x042E], [0xE1,0x0410], [0xE2,0x0411], [0xE3,0x0426], 
      [0xE4,0x0414], [0xE5,0x0415], [0xE6,0x0424], [0xE7,0x0413], 
      [0xE8,0x0425], [0xE9,0x0418], [0xEA,0x0419], [0xEB,0x041A], 
      [0xEC,0x041B], [0xED,0x041C], [0xEE,0x041D], [0xEF,0x041E], 
      [0xF0,0x041F], [0xF1,0x042F], [0xF2,0x0420], [0xF3,0x0421], 
      [0xF4,0x0422], [0xF5,0x0423], [0xF6,0x0416], [0xF7,0x0412], 
      [0xF8,0x042C], [0xF9,0x042B], [0xFA,0x0417], [0xFB,0x0428], 
      [0xFC,0x042D], [0xFD,0x0429], [0xFE,0x0427], [0xFF,0x042A], 
  ] );
  return buf.map ( c => c < 127 ? c : map.get ( c ) || 0 )
        .map ( c => String.fromCharCode ( c ) ).join ( '' );
}

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

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

Читайте также:  10 нюансов, на которые надо обратить внимание при выборе хостинга VPS / Хабр

UTF-8

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

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

Windows-1251

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

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

Определить кодировку страницы своего или чужого сайта можно через исходный код страницы. Откройте страницу сайта, выберите «Просмотр кода страницы» (сочетание горячих клавиш Ctrl+U» в Google Chrome) и найдите упоминание «charset» внутри тега head.

На странице сайта используется кодировка UTF-8:

Как посмотреть, какая кодировка на сайте
Указание кодировки в коде страницы

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

Как определить кодировку на сайте
Фрагмент анализа

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

Проверка кодировки на сайте
Отчет

Проверить кодировку еще можно через сервис Validator.w3, о котором писали в статье о проверке валидации кода. Нужная надпись находится внизу страницы.

Сервис для проверки кодировки на сайте
Кодировка сайта в валидаторе

Если валидатор не обнаружит Charset, он покажет ошибку:

Некорректная кодировка, пример
Ошибка указания кодировки

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

Функция phpinfo().

get encoding

Функция phpinfo() возвращает абсолютно всю информацию о текущей конфигурации PHP. Среди всей информации которая возвращает функция параметр default_charset как раз отвечает за то какая у вас на данный момент установлена кодировка.


Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

Где указать кодировку сайта

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

  • кодировка в мета-теге;
  • кодировка в .htaccess;
  • кодировка документа;
  • кодировка в базе данных MySQL.

Кодировка в мета-теге

Добавьте указание кодировки в head файла шаблона сайта.

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

Мета-тег может выглядеть так:

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

В HTML5 они эквивалентны.

Где указывать кодировку на сайте
Тег кодировки в HTML

В темах WordPress обычно тег «charset» с кодировкой указан по умолчанию, но лучше проверить.

Кодировка в файле httpd.conf

Инструкции для сервера находятся в файле httpd.conf, обычно его можно найти на пути «/usr/local/apache/conf/».

Если вам нужно сменить кодировку Windows-1251 на UTF-8, замените строчку «AddDefaultCharset windows-1251» на «AddDefaultCharset utf-8».

Осторожнее: если вы измените в файле кодировку по умолчанию, то она изменится для всех проектов на этом сервере.

Убедитесь, что сервер не передает HTTP-заголовки с конфликтующими кодировками.

Читайте также:  Надежный хостинг для системы дистанционного обучения с присмотром.

Кодировка в .htaccess

Добавьте кодировку в файл .htaccess:

  1. Откройте панель управления хостингом.
  2. Перейдите в корневую папку сайта.
  3. В файле .htaccess добавьте в самое начало код:
    1. для указания кодировки UTF-8 — AddDefaultCharset UTF-8;
    2. для указания кодировки Windows-1251 — AddDefaultCharset WINDOWS-1251.
  4. Перейдите на сайт и очистите кэш браузера.

Кодировка документа

Готовые файлы HTML важно сохранять в нужной кодировке сайта. Узнать текущую кодировку файла можно через Notepad++: откройте файл и зайдите в «Encoding». Меняется она там же: чтобы сменить кодировку на UTF-8, выберите «Convert to UTF-8 without BOOM». Нужно выбрать «без BOOM», чтобы не было пустых символов.

Кодировка Базы данных

Выбирайте нужную кодировку сразу при создании базы данных. Распространенный вариант — «UTF-8 general ci».

Где менять кодировку у БД:

  1. Кликните по названию нужной базы в утилите управления БД phpMyAdmin и откройте ее.
  2. Кликните на раздел «Операции»:
    Как узнать кодировку сайта
  3. Введите нужную кодировку для базы данных MySQL:
    Как узнать кодировку сайта
  4. Перейдите на сайт и очистите кэш.

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

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

Проблема может не решиться, если все дело в кодировке подключения к базе данных. Что делать:

  1. Подключитесь к серверу с правами mysql root пользователя:
    mysql -u root -p
  2. Выберите нужную базу:
    USE имя_базы;
  3. Выполните запрос:
    SET NAMES ‘utf8’;

Если вы хотите указать Windows-1251, то пишите не «utf-8», а «cp1251» — обозначение для кодировки Windows-1251 у MySQL.

Чтобы установить UTF-8 по умолчанию, откройте на сервере my.cnf и добавьте следующее:

В области [client]:

default-character-set=utf8

В области [mysql]:

default-character-set=utf8

В области [mysqld]:

collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'

character-set-server = utf8

Вы когда-нибудь сталкивались с проблемами кодировки на сайте?

Как узнать кодировку сайта и проверить, указана ли кодировка сайта в коде страницы?

Для того, что бы браузеры посетителей вашего сайта корректно отображали текстовое содержимое сайта, нужно на каждой странице указывать кодировку. Делается это, как правило, в файле вашего шаблона, отвечающего за вывод «хедера» (верхней части сайта, шапки).Узнать кодировку сайта можно, посмотрев ответы вашего сервера, их можно посмотреть, используя специальные сервисы. Мы сделали такой сервис для наших посетителей (пункт «Заголовки»):

Найти альтернативные сервисы можно, задав поисковой системе запрос, типа:

проверить ответы сервера

проврить кодировку сайтаО используемой кодировке нам сообщает строка Content-Type: text/html; charset=UTF-8 — то есть, проверяемая страница закодирована при помощи кодировки UTF-8.

Теперь мы знаем, в какой кодировке сайт отдает страницы, и нужно убедиться, что на всех страницах указана нужная кодировка. Для этого можно открыть исходный код страницы сайта (правый клик на пустом месте страницы — исходный код или CTRL+U — в разных браузерах по разному) и найти строку, содержащую слово charset внутри тега head (между <head> и </head>). Строка может выглядеть по-разному:

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

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

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

Функция mb_internal_encoding().

get encoding

С помощью функции mb_internal_encoding() можно не только получить текущую кодировку, но и устанавливать нужную вам кодировку передав ей имя кодировки в качестве параметра.


Если кодировка не отображается

Если вы зашли на чужой сайт с абракадаброй, а вам все равно очень интересно почитать контент, то в Справке Google объясняют, как исправить кодирование текста через браузер.

Главное правило — для всех файлов, скриптов, баз данных сайта и сервера должна быть указана одна кодировка. Ошибка может возникнуть, если вы случайно указали на сайте разные виды кодировки.

Яндекс советует использовать одинаковую кодировку для страниц и кириллических адресов структуры. К примеру, если робот встретит ссылку data-hren=»/корзина» на странице с кодировкой UTF-8, он сохранит ее в этом же UTF-8, так что страница должна быть доступна по адресу «/%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0».

Зачем нужна кодировка

Кодировка (Charset) — способ отображения кода на экране, соответствие набора символов набору числовых значений. О ней сообщает строка Content-Type и сервер в header запросе.

На сайте слетела кодировка, пример
Студентка списывала реферат с формулами, а на сайте слетела кодировка. Реальная история

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

Кодировка влияет на SEO?

Разберемся, как кодировка на сайте влияет на индексацию в Яндекс и Google.

Яндекс четко заявляет:

«Тип используемой на сайте кодировки не влияет на индексирование сайта. Если ваш сервер не передает в заголовке кодировку, робот Яндекса также определит ее самостоятельно».

Позиция Google такая же. Поисковики не рассматривают Charset как фактор ранжирования или сигнал для индексирования, тем не менее, она косвенно влияет на трафик и позиции.

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

Некорректно указана кодировка на сайте
Пример страницы со слетевшей кодировкой

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

Оцените статью
Хостинги