Первично перенос данных был сделан не совсем правильно, просто были взяты папки(DB) скопированы в соответствующую директорию где новый сервер хранил свои базы данных и все.
По крайней мере на сайте все показывалось нормально, но были проблемы с правильной сортировкой по строковым полям. Причиной этого стало наследие кодировок latin от 3 версии, там все работало прекрасно и сортировка была правильной. Еще вроде бы в phpMyAdmin показавались кракозябры вместо русских букв. Но я phpMyAdmin ом особо не пользовался, мне больше нравился SQLyog. Через некоторое время обновил версию SQLyog-а, и тут началось. Русские буквы кракозябрами, insert и update прекращали данные в вопросики.

Если insert и update делать из php то все нормально.
Ситуация дозрела, нужно что то делать с кодировками. Если в таблице изменить кодировку строки из latin на cp1251 тогда сервак конвертит строку в вопросики, на эти грабли я уже наступал. Изучил содержимое файлов *.frm *.myd *.myi выяснил что в *.myd лежат данные таблицы в кодировке cp1251 (она же windows-1251). Сделал копию всех файлов. Потом программой SQLyog поменял кодировку строковых полей во всех таблицах(в SQLyog выпадающее меню на таблице - команда AlterTable) . Естественно все русские строчки стали вопросиками. Переписал все файлы *.myd из копии. Перезапустил сервер MySQL, ура все по русски и в правильной кодировке, и везде.
В конце хочу сказать что кодировка в MySQL много где зашита:
- Поля таблицы (AlterTable)
- Свойство таблицы (Alter Table - Advanced Properties)
- Свойство базы данных (Alter DataBase)


Итого: везде где только можно было выставил кодировку cp1251, но запрос
show variables where Variable_name like ‘%char%’;
Вернул следующее
query result
| Variable_name | Value |
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | cp1251 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | cp1251 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/mysql/charsets/ |
Пусть не пугает наличие utf8, так и должно быть.
RSS подписка
Email подписка