Периодически бывает так, что web-сервер с поддержкой php отображает тексты из php-скриптов нормальными русскими буквами, а все данные из MySQL отображаются знаками вопроса (??????????). Подобная проблема обычно появляется при импорте данных в базу из дампа.
Для начала стоит просмотреть дамп для понимания используемой в нём кодировки символов. К примеру данные в нём в кодировке UTF-8. Пробуем создать базу данных с кодировкой по умолчанию UTF-8:
create database pelikanch_data default character set cp1251 collate cp1251_unicode_ci;
В консоли MySQL даём команду show variables и смотрим кодировку у следующих переменных:
character_set_client
character_set_connection
character_set_database
character_set_results
character_set_server
character_set_system
collation_connection
collation_database
collation_server
Для быстрой проверки используем
set character_set_client=UTF8;
Так же и для остальных переменных. Лучше прописать переменные в файл настроек my.cnf - в секцию [mysqld] дописываем:
default-character-set = utf8
init-connect = "SET NAMES utf8"
так же можно здесь же дописать:
character_set_client = utf8
collation_server = utf8_general_ci
Что-либо из вышеперечесленного обычно помогает, если не помогло - возможно проблема в самих скриптах PHP.
Комментариев нет:
Отправить комментарий