Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PDO::__construct():Serwer wysłał zestaw znaków (255) nieznany klientowi. Proszę zgłosić się do programistów

MySQL 8 zmienił domyślny zestaw znaków na utf8mb4. Ale niektórzy klienci nie znają tego zestawu znaków. Dlatego, gdy serwer zgłasza klientowi swój domyślny zestaw znaków, a klient nie wie, co oznacza serwer, zgłasza ten błąd.

Zobacz także https://bugs.mysql.com/bug.php?id=71606

Ten błąd dotyczy MySQL Connector/C++, więc wpływa nie tylko na PHP.

OK — udało mi się uruchomić, zmieniając zestaw znaków na utf8, aby był kompatybilny z nieuaktualnionymi klientami. Dodałem to do /etc/my.cnf i zrestartowałem mysqld:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


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

Znalazłem te ustawienia w odpowiedzi z 2010 roku:Zmienić domyślny zestaw znaków MySQL na UTF-8 w my.cnf?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL TIMEDIFF() vs TIMESTAMPDIFF():jaka jest różnica?

  2. Przepisywanie mysql select w celu skrócenia czasu i zapisywania tmp na dysk

  3. Zdefiniuj zmienną w ramach wyboru i użyj jej w ramach tego samego wyboru

  4. Czy muszę chronić się przed wstrzyknięciem SQL, jeśli korzystam z listy rozwijanej?

  5. Jak dodać dni do daty w MySQL