Mysql
 sql >> база данни >  >> RDS >> Mysql

Повторно въведена Неизвестна грешка в индекса на първоначалния набор от символи?

Това говори за промените, които са се случили след 8.0 Една от точките, които са изброени, за да можете да препратите, е следното:

В резултат на това наборът от символи по подразбиране и съпоставянето за нови обекти се различават от предишните, освен ако не са посочени изричен набор от знаци и съпоставяне. Това включва бази данни и обекти в тях, като таблици, изгледи и съхранени програми.

Един от начините да запазите предишните настройки по подразбиране е да стартирате сървъра с тези редове в my.cnf файл:

[mysqld]
character_set_server=latin1
collation_server=latin1_swedish_ci

Друга опция, тъй като използвате docker, е да посочите тези опции за конфигурация като аргументи на командния ред към командата за изпълнение на docker. Например:

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

На клиента, ако искате да направите промени - да се надяваме, че тези трябва да са достатъчни:

За да използвате 4-байтови набори от UTF-8 символи с Connector/J, конфигурирайте MySQL сървъра с character_set_server=utf8mb4 и оставете characterEncoding извън низа за свързване Connector/J.

След това Connector/J ще открие автоматично UTF-8 настройка

Надявам се това да помогне!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създаване на GeoJson в php от MySql за използване с MapBox javascript API

  2. Какви са практическите разлики между `ЗАМЕНИ` и `ВМЪКВАНЕ... ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИКАТ КЛЮЧ` в MySQL?

  3. ModuleNotFoundError:Няма модул с име 'mysql'

  4. MySQL заявка, където JOIN зависи от CASE

  5. Грешка в синтакса на SQL - не мога да намеря грешката