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

Это отлично работает для всех браузеров:

-webkit-box-shadow: -7px 0px 10px 0px #000, 7px 0px 10px 0px #000;
-moz-box-shadow: -7px 0px 10px 0px #000, 7px 0px 10px 0px #000;
box-shadow: -7px 0px 10px 0px #000, 7px 0px 10px 0px #000;
13
задан Napas 16 April 2017 в 12:57
поделиться

4 ответа

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

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

18
ответ дан Community 16 August 2018 в 10:47
поделиться
  • 1
    Спасибо, но не работает - такая же ошибка. – Napas 18 April 2017 в 18:05
  • 2
    Он работал в моей среде. MySQL 8.0.1, PHP 7.1.4. Вы перезапустили службу mysql? – Bill Karwin 18 April 2017 в 20:47
  • 3
    FYI: bugs.php.net/bug.php?id=74461 См. Комментарий от nikic, по-видимому, это было исправлено в PHP-источнике, и я предполагаю, что он будет выпущен в ближайшем будущем. – Bill Karwin 18 April 2017 в 20:47
  • 4
    У меня было докционированное приложение. установка этой конфигурации в /etc/mysql/conf.d решила ошибку. Благодарю. – ssi-anik 27 September 2017 в 10:40
  • 5
    – Lahar Shah 25 October 2018 в 15:08

У меня была такая же проблема для подключения к локальной системе.

Я проверил в списке сервисов (Run-> Services.msc-> Enter) wampmysqld64 был остановлен.

Перезапустить его. и смог войти в систему.

0
ответ дан Shashikant Pandit 16 August 2018 в 10:47
поделиться

Принятый ответ спас меня (спасибо, Билл !!!), но я столкнулся с другой связанной проблемой, просто хотел предоставить некоторые детали моего опыта -

После перехода на MySQL 8.0.11, У меня возникла такая же проблема, как и при использовании функции PHP mysqli_connect(). В моем каталоге MySQL (в моем случае usr/local/mysql) я создал файл my.cnf, добавил контент в принятом ответе, а затем перезапустил сервер MySQL. Однако это вызвало новую ошибку:

mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

Я добавил строку default_authentication_plugin = mysql_native_password, поэтому my.cnf теперь выглядит так:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
default_authentication_plugin = mysql_native_password

, и мне было хорошо идти !

Для дополнительной справки: https://github.com/laradock/laradock/issues/1392

3
ответ дан skwidbreth 16 August 2018 в 10:47
поделиться
0
ответ дан Girish 6 September 2018 в 05:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: