MySQL -Change DB, таблицы к UTF8
Вопрос
In /etc/my.cnf the following has been added
character-set-server=utf8
collation-server=utf8_general_ci
Но для базы данных и таблиц, созданных перед добавлением выше, как преобразовать базу данных и таблиц в UTF8 с настройками сопоставления
Решение
Ну, набор символов базы данных и набор символов таблицы - это просто по умолчанию (они не влияют на что-то напрямую). Вам нужно будет изменить каждый столбец к правильному Charset. PHPMYADMIN сделает это для вас (просто отредактируйте столбец, затем измените набор символов). Если вы хотите сделать RAW SQL, вам нужно знать определение столбца (SHOW CREATE TABLE foo
покажет вам определение). Тогда вы можете использовать ALTER TABLE
изменить определение.
Чтобы изменить по умолчанию Charset для таблицы:
ALTER TABLE `tablename` DEFAULT CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
Чтобы изменить рисунку столбца с определением `foo varchar (128) набора символов" foo 'collate' foo'``
ALTER TABLE `tablename` MODIFY
`foo` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';