Questo parla dei cambiamenti avvenuti dalla 8.0Uno dei punti che è stato elencato a cui fare riferimento è questo:
Di conseguenza, il set di caratteri e le regole di confronto predefiniti per i nuovi oggetti differiscono da quelli precedenti, a meno che non vengano specificati un set di caratteri e regole di confronto espliciti. Ciò include database e oggetti al loro interno, come tabelle, viste e programmi memorizzati.
Un modo per preservare le impostazioni predefinite precedenti è avviare il server con queste righe in my.cnf
file:
[mysqld]
character_set_server=latin1
collation_server=latin1_swedish_ci
Un'altra opzione, poiché stai eseguendo la finestra mobile, consiste nello specificare queste opzioni di configurazione come argomenti della riga di comando per il comando di esecuzione della finestra mobile. Ad esempio:
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
Sul client, se desideri apportare modifiche, si spera che queste dovrebbero essere sufficienti:
Per utilizzare set di caratteri UTF-8 a 4 byte con Connector/J, configura il server MySQL con character_set_server=utf8mb4
e lascia characterEncoding
dalla stringa di connessione Connector/J.
Connector/J rileverà automaticamente il UTF-8
impostazione
Spero che questo aiuti!