Инструкция
1
Обратите внимание, что обычно причиной возникновения проблем с Mysql является то, что по умолчанию кодировка для баз данных назначается latin1. Большинство подключенных клиентов также настроены на нее, вы вносите данные и просматриваете результаты тоже с ее использованием. Хоть данная кодировка и корректно отображает кириллицу, но коды таблицы символов в ней не соответствуют реальным символам кириллицы. Поэтому поиск и сортировка данных могут выдавать абсолютно непредсказуемые результаты.
2
Выполните изменение кодировки базы данных на ту, которая корректно отображает кириллические символы, к примеру, utf-8 или cp1251. Для этого конвертируйте данные из кодировки Latin1 в cp1251. Не используйте при этом простое конвертирование данных, так как коды символов некорректные. Поэтому необходимо избавиться от их привязки к кодировке. Для этого преобразуйте данные и символьный тип в двоичные данные. Воспользуйтесь запросом Alter table «Введите имя таблицы» t1 change c1 c1 blob.
3
Выполните запрос для смены кодировки базы данных Mysql, для этого воспользуйтесь следующим примером: Alter table «Введите имя таблицы» t1 change c1 c1 text chatacter set «Введите название нужной кодировки, например, cp1251». Физически не изменяется ни один байт данных, а меняется правило формирования символов. В последующем для изменения кодировки БД вы можете пользоваться простым запросом конвертирования данных.
4
Обратите внимание, при изменении кодировок таблицы в поле, которое содержит индексы, необходимо удалить их и создать заново, т.е. перестроить во всех таблицах базы данных. При переходе на кодировку убедитесь, что визуальные клиенты поддерживают unicode. К примеру, клиент SQLyog некорректно отображает содержимое таблиц, которые хранят данные в кодировке utf-8.