Mysql
 sql >> Database >  >> RDS >> Mysql

Come modificare il set di caratteri da latin1 a UTF8 in MySQL

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).