laravel5.5は、最初から絵文字対応していた(mysqlの文字コードはutf8mb4の一択!)

laravel5.5は、最初から絵文字対応していた(mysqlの文字コードはutf8mb4の一択!)

laravel5.4から、デフォルトの文字コードがutf8からutf8mb4に変わったらしい。
config/database.phpで設定されている(.envで変更するようにしてもいい)

問題は、laravel5.1の時に使っていたconfig/database.phpや.envファイルをコピペしたり、laravel本体のバージョンアップした時はutf8のままで、スマホから絵文字を入力されると
mysqlの文字コードがutf8のままなので、INSERT時にエラー画面になってしまう。

基本的には、文字コードをutf8mb4に設定してから初期化してあげればOK!

ただ、テスト運用中で気楽に初期化できない場合は、特定のカラムだけ文字コードを変更する事も出来る
※照合順序(COLLATE)も文字コードに紐付いているから、同時に変更しないとダメ!

テーブルの文字コードを変更しようとしたら、リレーション貼っているカラムがあるからダメ!と怒られた…。

コメントを残す

メールアドレスが公開されることはありません。