@rukzen

Как изменить отображение знаков вопроса в место кирилицы?

Доброго времени суток.

Сайт работал на кодировке utf-8 и было всё нормально, решил перенести на utf8mb4 база данных теперь на utf8mb4 но на сайте отображаются знаки вопроса хотя сама в самой базе данных всё нормально отображается.

Csm dle

Вопрос решён
Спасибо всем кто отвечал на столь глупый вопрос.
Только благодаря Вам, исключая все что не правильно, методом тщетных попыток нашёл одно решение.

Проблема решена путём «насильственного» изменения кодировки utf8_general_ci у одного из столбцов а затем вернуть всё обратно на utf8mb4_general_ci в PhpMyAdmin

Подробнее (Возможно что то здесь лишнее, я перечислю только список своих действий)
P.S. у меня панель управления сайтом ISPmanager.

Обновил PHP с 5.5 до 7
Обновил MySQL

Выполнил SQL запрос в PhpMyAdmin обращённой к базе данных к таблице dle_post

ALTER TABLE `db_name`.`table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;


Где:
db_name - это имя базы данных
table_name - это название таблицы (dle_post)

Затем выполнил обратное возвращение таблицы в utf8bit4

ALTER TABLE `db_name`.`table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8bit4_general_ci;


Теперь utf8mb4 отображается на сайте.
"Проверил с помощью эмодзи "
  • Вопрос задан
  • 238 просмотров
Пригласить эксперта
Ответы на вопрос 2
ivankomolin
@ivankomolin
Можно выполнить в приложении после коннекта к бд следующий запрос
set names utf8mb4
Ответ написан
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
После подключения должны быть запросы
SET character_set_connection = utf8mb4
SET character_set_client = utf8mb4
SET character_set_results = utf8mb4

иначе клиент не знает в какой кодировке принимаются данные со стороны бд.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы