[開發筆記] laravel 5.4 的mysql預設編碼為 utf8mb4


[Illuminate\Database\QueryException]
  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add un
  ique `users_email_unique`(`email`))



原因是laravel 5.4 的 config/database.php 裡的預設mysql unicode 是使用


'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',


把這二行改成,就應該可以正常work了


'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',


分享到 Google+

作者資訊

eugene
王佑哲 Eugene Wang,創業者、工程師、部落客,Inside網路趨勢共同創辦人,現為貝殼放大營運長

1 回應:

  1. 建議把 mysql 的預設編碼改為 UTF8MB4,這樣可以把一些罕見的人名地名以及特殊字元存起來而不至於出錯或遺失資料

    回覆刪除