Pebble Coding

ソフトウェアエンジニアによるIT技術、数学の備忘録

rails mysqlで絵文字がDBに入る場合の注意

railsにてfixturesをloadしようとして次のようなエラーが出た。

ActiveRecord::StatementInvalid (Mysql2::Error: Incorrect string value: '\xF0\x9F\x98\x83\xE3\x81...' for column

どうやら、UTF8で4バイトになる絵文字が入っているところでエラーになっている。mysqlのデータベースの文字コードを4バイトまで許容するものに変更する必要があるらしい。

database.ymlファイルのencoding指定をutf8からutf8mb4に変更したところ直った。

参考URL
RailsとMySQLでiOSの絵文字に対応(UTF8MB4化)した話 - Akata Works