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

Ponownie wprowadzono nieznany błąd indeksu początkowego zestawu znaków?

To mówi o zmianach, które zaszły od wersji 8.0. Jednym z punktów, które wymieniono, jest to:

W rezultacie domyślny zestaw znaków i sortowanie dla nowych obiektów różnią się od poprzednich, chyba że określono jawny zestaw znaków i sortowanie. Obejmuje to bazy danych i znajdujące się w nich obiekty, takie jak tabele, widoki i zapisane programy.

Jednym ze sposobów zachowania poprzednich ustawień domyślnych jest uruchomienie serwera z tymi wierszami w my.cnf plik:

[mysqld]
character_set_server=latin1
collation_server=latin1_swedish_ci

Inną opcją, ponieważ używasz platformy docker, jest określenie tych opcji konfiguracyjnych jako argumentów wiersza polecenia w poleceniu docker run. Na przykład:

docker run -d \
--network my-net \
-h mysqldb \
--name mysqldb \
-p 3306:3306 \
-e MYSQL_RANDOM_ROOT_PASSWORD=yes \
-e MYSQL_DATABASE=mydb \
-e MYSQL_USER=admin \
-e "MYSQL_PASSWORD=admin" \
mysql:8 --character-set-server=latin1 --collation-server=latin1_swedish_ci

Po stronie klienta, jeśli chcesz dokonać zmian - miejmy nadzieję, że powinny wystarczyć:

Aby używać 4-bajtowych zestawów znaków UTF-8 z Connector/J, skonfiguruj serwer MySQL za pomocą character_set_server=utf8mb4 i pozostaw characterEncoding z ciągu połączenia Connector/J.

Connector/J automatycznie wykryje UTF-8 ustawienie

Mam nadzieję, że to pomoże!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Stosowanie uprawnień do kolumn dla tabeli przez wyzwalacz

  2. Jak mogę przechowywać i pobierać obrazy z bazy danych MySQL za pomocą PHP?

  3. Jak opróżnić bazę danych MySQL

  4. odejmij 1 od liczby w wierszu Zapytanie SQL

  5. LEWE DOŁĄCZ w ZF2 za pomocą TableGateway