Мы используем cookie-файлы
Для оптимизации работы нашего сайта мы используем cookie-файлы. Продолжая использовать сайт, Вы соглашаетесь с использованием cookie-файлов.
Панель управления
  • Русский
  • Українська
  • UAH
  • USD
  • RUB
  • EUR
  • 0-800-307-307  Горячая линия
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 170-15-42  Life
  • +38(067) 400-88-44  Киевстар
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

2.7.3.1. Неверная кодировка при выводе данных из базы

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

  • Для библиотеки mysql:
    mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'");
    mysql_query("SET CHARACTER SET 'utf8'");
  • Для библиотеки mysqli:
    mysqli_query($link, "SET NAMES 'utf8' COLLATE 'utf8_general_ci'");
    mysqli_query($link, "SET CHARACTER SET 'utf8'");

В командах:

  • Вместо utf8 необходимо указать нужную кодировку (например, cp1251).
  • Вместо utf8_general_ci — нужное сопоставление кодировок (например, cp1251_general_ci). Полный список кодировок и сопоставлений MySQL доступен в официальной документации.
  • Для библиотеки mysqli первым параметром указывается указатель на подключение к БД — в вашем скрипте он может быть отличным от $link (узнать его можно, посмотрев в исходном коде название переменной, которой присваивается результат выполнения функции mysqli_connect()).