Если вы до сих пор используете MySQL, выставляйте кодировку utf8mb4. Знаете, почему? Потому что в MySQL кодировка utf8 – это не UTF-8, о котором вы могли подумать, а его урезанная проприетарная версия. Полон мир чудес и загадок. Почему так – в статье по ссылке. Почитайте, рекомендую. А ещё реокмендую переходить на PostgreSQL, да.