Як конвертувати кодування бази даних MySQL
Потрібно змінити кодування бази даних? У цій статті розберемо, як швидко змінити кодування для баз MySQL через SQL-запити. Пройдемося окремо, як задати нову систему кодування для бази, таблиці і окремих полів таблиці. Також радимо перед змінами зробити резервну копію БД, щоб в разі чого повернути файли до робочого стану.
Конвертація кодування для всієї бази
Перед виконанням команд слід підключитися до серверу MySQL по SSH. Для зміни кодування бази використовуємо команду:
ALTER DATABASE `newbd` COLLATE utf8_danish_ci
де `newbd` - назва бази даних;
utf8_danish_ci - кодування, яке необхідно встановити.
Щоб перевірити встановлене кодування бази, вводимо в консоль команду
SHOW VARIABLES;
На виведенні команди отримаємо всі конфігурації для зазначеної бази даних, шукаємо поле "collation_database" в ньому буде вказано кодування.
Зміна кодування для таблиці бази даних
Для таблиці кодування змінюється схожим способом, але вже через команду ALTER TABLE:
ALTER TABLE `назва_таблиці` COLLATE utf8_danish_ci;
де `назва_таблиці` - назва таблиці, для якої міняємо кодировку;
і utf8_danish_ci - бажане кодування.
Зміна кодування для полів таблиці
Якщо є необхідність, можна змінювати кодування навіть в окремих полях. Щоб це зробити, використовуємо ALTER TABLE, після задаємо назву таблиці, поле, тип даних, і на яке кодування міняємо:
ALTER TABLE `назва_таблиці` CHANGE` назва_поля` VARCHAR (40) CHARACTER SET cp1251 COLLATE cp1251_general_ci;
де CHARACTER SET CHARACTER змінює набір символів бази даних за замовчуванням, а COLLATE параметри сортування бази даних за замовчуванням.