#mysql #ruby-on-rails-3 #utf-8 #migration #latin1
#mysql #ruby-on-rails-3 #utf-8 #миграция #latin1
Вопрос:
Я только что проверил свои таблицы MySQL, и у меня по умолчанию установлено значение latin1. Это обычно используется по умолчанию?
Как я могу сделать явным для всех моих таблиц, что я хочу, чтобы база данных была utf-8?
Я знаю, что существует конфигурация БД, которая может изменить значение по умолчанию, но я думаю, что есть также способ сделать это для каждой миграции. Как я мог бы навсегда настроить свои миграции rails с этого момента на utf-8?
Спасибо!
Ответ №1:
create_table(:table_name, :options => 'ENGINE=InnoDB DEFAULT CHARSET=utf8')
Комментарии:
1. В качестве альтернативы вы можете установить
default-storage-engine = InnoDB
в своем my.cnf для MySQL. Вы также можете установить набор символов MySQL по умолчанию и параметры сортировки в utf8. Здесь есть много вариантов, поэтому вы захотите углубиться в документы для получения дополнительной информации об этом: dev.mysql.com/doc/refman/5.0/en/server-system-variables.html