Това говори за промените, които са се случили след 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
настройка
Надявам се това да помогне!