Хостинг и регистрация доменов

Чат онлайн
→  Хостинг →  Регистрация доменов →  VPS / VDS →  Выделенные сервера →  FAQ →  Форум →  Контакты →  Техподдержка

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

Хостинг УкраинаFAQХостинг Неправильная кодировка при выводе данных из базы

В случае, если кодировка сайта и базы данных не совпадает (часть текста на сайте выводится нормально, а часть текста из базы - в виде непонятных знаков). Необходимо в скрипте, который подключается к базе данных добавить команды, которые укажут 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().
Для библиотеки PDO при инициализации нового подключения нужно добавить 4й параметр:
$db = new PDO(DB_DSN, DB_USER, DB_PASS, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));
Написал belomor3k 31.03.2013 в 13:42 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
Спасибо огромное, много искал, а всё оказалось так понятно и доступно именно здесь!
Написал bembikiev 13.03.2015 в 19:20 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
От меня тоже огромное спасибо. Столько времени никогда в жизни не убивали. А оказалось элементарно. Насколько код легче-то стал!..
Написал anse.seo 08.10.2015 в 20:32 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
Так и не понял куда это нужно вставлять? в PHP? я вставил, он мне ошибку выдал
Написал keepsmiling.in.ua 22.06.2016 в 17:54 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
Вставлять нужно в PHP код после того, как произошло подключение к БД.
Написал Илья 26.06.2016 в 10:50 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
О боже все просто так, какой же я глупый, пробывал кучу вариантов, думал может с хостингом беда, уже менять хотел, а оказалось все намного проще, спасибо вам)
Написал ltleirffantastic 01.08.2016 в 10:17 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором

Добавить комментарий
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором.
Внимание! Чтобы ответить на существующий комментарий, пожалуйста, нажмите на кнопку Ответить, которая находится под соответствующим комментарием.

Другие полезные статьи:

Горячая линия
(044) 392 74 33 другие города
Copyright © 2006—2017 ООО "Хостинг «Украина»"

Все материалы данного сайта являются объектами авторского права.
Запрещается копирование, распространение или любое иное использование информации и объектов без письменного согласия правообладателя.
Нашли опечатку на странице - выделите ее и нажмите Ctrl+Enter
Идёт обновление информации, подождите...