config/database.php


SynogyのNASにはMariaDBがのっている。
config/database.phpの初期設定はutf8mb4という絵文字対応の文字コードになっているため そのままphp artisan migrateすると文字コードがおかしくなる。

config/database.php
'mysql' => [ 
'driver' => 'mysql', 
'url' => env('DATABASE_URL'), 
'host' => env('DB_HOST', '127.0.0.1'), 
'port' => env('DB_PORT', '3306'), 
'database' => env('DB_DATABASE', 'forge'), 
'username' => env('DB_USERNAME', 'forge'), 
'password' => env('DB_PASSWORD', ''), 
'unix_socket' => env('DB_SOCKET', ''), 
ここを変更する 'charset' => 'utf8', 
ここを変更する 'collation' => 'utf8_general_ci', 
'prefix' => '',
'prefix_indexes' => true, 
'strict' => true, 
'engine' => null, 
'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
 ]) : [], 
],

私は文字化けは経験してないのだがこの設定で今まで問題になったことはない。