- 追加された行はこの色です。
- 削除された行はこの色です。
&tag(Rails/絵文字を扱う);
*目次 [#qa6e1da1]
#contents
*関連ページ [#k06a7f2d]
*参考情報 [#h52062b8]
*MySQLで絵文字を扱う [#z3af2636]
-MySQLのutf8では絵文字が保存できないので、utf8mb4を使う必要がある。
-ALTER TABLEなどで変更する場合、列ごとの文字コードまで変更する必要がありめんどくさい。
-一旦DB全体をドロップしたutf8mb4で作りなおすのが簡単。
**MySQLの設定変更 [#bcaf5560]
-[[MySQL/utf8mb4]]に従って設定変更する。
**database.ymlの変更 [#q011559b]
-encodingを変更
#pre{{
default: &default
adapter: mysql2
encoding: utf8mb4
pool: 5
}}
**DBの作り直し [#y34a806a]
-データのエクスポート。--no-create-infoを指定してcreate tableを除去。さらにREPLACEを使う(migrationが重複するので)。現在のデータベースコードはUTF-8とする。
mysqldump --single-transaction --no-create-info --replace --default-character-set=binary --quick sample_production > data.sql
- 現在のschema.rbに従って作り直し
bundle exec rake db:reset RAILS_ENV=production
**データのインポート [#m2a17511]
-そのままutf8mb4はutf8の上位互換なのでそのままインポートできる。
mysql asl_production < data.sql