Як змінити кодування бази.

Система управління базами даних Mysql, починаючи з версії 4.1, підтримує роботу з кодуваннями. Основні проблеми з ними виникають при з'єднанні бази даних з Php. В цьому випадку кодування вмісту бази та з'єднання повинна збігатися.
Інструкція
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.