&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


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS