laravelのルートディレクトリ/.ENVを修正したら、DB照合順序(utf8_unicode_ci → utf8_general_ci)を変更できた。
laravel5.1でschema builderでテーブルを作っていたら、mysqlのサーバの設定を変更しても照合順序がutf8_unicode_ciになってしまうので、色々いじってたら出来た!
なんとなく勘で、laravelのルートディレクトリ/.ENVに以下のように追加したら、デフォルトのDB照合順序(utf8_unicode_ci->utf8_general_ci)を変更できた。
1 2 3 4 5 6 |
DB_HOST=localhost DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret DB_CHARSE=utf8 ←←←追加 DB_COLLATION=utf8_general_ci ←←←追加 |
ドキュメントのどこかに書いてあるのかもしれないけど見つからなかったので、長年の経験と勘で解決できた(^_^;)
【追記】
大嘘でした。config/database.phpでmysqlのcollationを変更したのが正しかった!
1 2 3 4 5 6 7 8 9 10 11 12 13 |
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', //'collation' => 'utf8_unicode_ci', 'collation' => 'utf8_general_ci', 'prefix' => '', 'strict' => false, ], |