Як змінити кодування бази
Система управління базами даних 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.
Статті за темою "Як змінити кодування бази"
Оцініть, будь ласка статтю