Per impostazione predefinita, i database MySQL hanno set di caratteri e regole di confronto latin1. Tuttavia, a volte potrebbe essere necessario memorizzare i caratteri UTF8 nel database MySQL. Ecco come modificare il set di caratteri da latin1 a UTF8.
Come convertire il database MySQL da latin1 a UTF8
Ecco i passaggi per modificare il set di caratteri da latin1 a UTF per il database MySQL.
1. Determina il set di caratteri corrente
Accedi allo strumento della riga di comando di MySQL. Verrà visualizzata una richiesta di password. Inserisci la tua password per accedere al database MySQL.
$ sudo mysql -uroot -p
Eseguire il comando seguente per determinare il set di caratteri attuale del database. Sostituisci database_name di seguito con il nome del tuo database
mysql> SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "database_name"; +----------------------------+ | default_character_set_name | +----------------------------+ | latin1 | +----------------------------+
Se si desidera determinare il set di caratteri per una tabella di database specifica, eseguire il comando seguente. Sostituisci database_name e table_name rispettivamente con il tuo database e i nomi delle tabelle.
mysql> SELECT CCSA.character_set_name FROM information_schema.TABLES
T, information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
CCSA WHERE CCSA.collation_name = T.table_collation AND T.table_schema = "database_name" AND T.table_name = "table_name";
Bonus Leggi:Come aumentare le connessioni massime in MySQL
2. Cambia il set di caratteri da latin1 a UTF8
Esegui il comando seguente per modificare il set di caratteri del database MySQL da latin1 a UTF8. Sostituisci database_name con il nome del tuo database
Per MySQL> 5.5
mysql> ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Per MySQL <=5.5
mysql>ALTER DATABASE database_name CHARACTER
SET utf8 COLLATE utf8_unicode_ci;
Bonus Leggi:Come classificare la partizione in MySQL
Allo stesso modo, ecco il comando per cambiare il set di caratteri della tabella MySQL da latin1 a UTF8. Sostituisci table_name con il nome della tabella del database.
Per MySQL> 5.5
mysql> ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Per MySQL <=5.5
mysql>ALTER TABLE table_name CONVERT TO CHARACTER
SET utf8 COLLATE utf8_unicode_ci;
Si spera che il tutorial sopra ti aiuti a cambiare il set di caratteri del database in utf8mb4 (UTF-8).