Currently Laravel ships with MySQL utf8 and utf8_unicode_ci as the default charset and collation configurations. In order to utilize full UTF-8 support and Emoji support utf8mb4 and utf8mb4_unicode_ci must be used in it's place.
The issue I encountered was when I attempted to run the artisan migration for the included users and password_resets migrations that ship with L5. Laravel's schema builder defaults string length to 255 which is fine when using utf8 but when using utf8mb4 the byte limit is surpassed.
You may encounter the following error:
[Illuminate\Database\QueryException] SQLSTATE: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique users_email_unique(`email`))
The solution is simple though, when declaring strings with the schema builder do not use the default string length and provide a 2nd parameter of 191 for the string() function.
The reasoning for this length change is that regular utf8 charset and collation utilize only 3 bytes per character and utf8mb4 utilizes 4 bytes per character to support a larger range of characters. To dive deeper into this please check the resources linked below:
Note (thanks Chris): This error will only occur when attempting to set the string column as a key in the table.