Блог Тимура Казанского

Отображение кириллицы на сайте - быстрое решение


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

И так, существует две самые распространенные кодировки, которые используются – это «UTF-8» и «ср1251». Давайте начнем с самой распространенной «UTF-8», кстати рекомендую использовать именно этот вариант, поскольку «cp1251» хоть и широко используется, но уже теряет свою актуальность. Если вы открываете ваш сайт и видите что вся кириллица в каких-то непонятных символах и значках, то делаем следующее:

  • 1. Открываем phpMyAdmin, и начинаем просматривать базу данных и все таблицы - везде должна стоять кодировка utf-8

    Проверяем кодировку в базе данных и таблицах

    если установлено что-то другое, например «latin», то изменяем все на utf-8. Чтобы изменить кодировку в строке таблицы, выбираем таблицу и во вкладке «структура» просматриваем все строки таблицы по столбцу «сравнение», если кодировка какой-либо строки отличается, то нажимаем на ссылку «изменить» (в столбце «Действие») и меняем кодировку.

    Изменяем кодировку в строке таблицы

    Изменяем кодировку в строке таблицы на примере

    Кодировку таблицы и базы данных меняем во вкладке «Операции», т.е. выделяем определенную таблицу или базу данных и переходим на вкладку «Операции» где в поле «Сравнение» меняем кодировку.

    Изменяем кодировку в базе данных

    Изменяем кодировку в таблице

  • 2. Переходим на фтп вашего сайта, находим файл .htaccess(как создать .htaccess я писал тут) и прописывем туда следующую строку: AddDefaultCharset utf-8
  • 3. Переходим в файл со скриптом сайта и находим тег meta где атрибут charset должен иметь также кодировку utf-8, т.е. в html 4 это должно выглядеть так: <шеta http-equiv="content-type" content="text/html; charset=UTF-8">

    А в html5 так:

    <meta charset="utf-8">
  • 4. Далее находим код соединение с базой данных и добавляем после него следующую строку: mysqli_query($dbc,"SET NAMES 'utf8'");

    Обратите внимание, здесь мы указываем кодировку utf8 без дефиса, это очень важно! Т.е. общий скрипт соединения с бд должен выглядеть примерно следующим образом:

    $dbc=mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
    mysqli_query($dbc,"SET NAMES 'utf8'");
    $query="SELECT * FROM primer";

Если нужно установить кодировку «cp-1251», то делаем все по аналогии, т.е. заменяем «utf-8» на «cp1251».

И помните главное - все ваши данные: на сайте, в базе данных, в файлах со скриптами должны быть в одной кодировке! Вот и все, соблюдение этих простых правил, помогут Вам навсегда избежать проблем с отображением кириллицы на вашем сайте!

Категория: Все для создания сайтов

Читайте также - самые интересные истории обо мне

Оставьте ваш комментарий

Комментарии: 0