PDO :: __ construct (): сервер отправил charset (255), неизвестный клиенту. Пожалуйста, сообщите разработчикам

Я пытаюсь подключиться к базе данных MySQL из приложения Symfony 3. Но при попытке создать MySQL-схему из командной консоли Symfony я получаю эту ошибку: PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers

И PHP, и MySQL работают в контейнерах Docker.

Версия MySQL: 8.0.1

Версия PHP: 7.1.3

Драйвер: pdo_mysql

charset: UTF8

dsn: "mysql:host=mysql;dbname=database;charset=UTF8;"

Есть идеи?

MySQL 8 изменил кодировку по умолчанию на utfmb4. Но некоторые клиенты не знают эту кодировку. Следовательно, когда сервер сообщает клиенту по умолчанию свой код, а клиент не знает, что означает сервер, он выдает эту ошибку.

См. Также https://bugs.mysql.com/bug.php?id=71606

Эта ошибка против MySQL Connector / C ++, поэтому она затрагивает больше, чем просто PHP.

Хорошо, я получил его для работы, изменив набор символов на utf8, чтобы быть совместимым с не обновленными клиентами. Я добавил это в /etc/my.cnf и перезапустил mysqld:

 [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8 по [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8 по [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8 

Я нашел эти параметры в ответе с 2010 года: измените значение по умолчанию для MySQL по умолчанию на UTF-8 в my.cnf?