sql >> Database >  >> RDS >> Mysql

Tekenset wijzigen van latin1 naar UTF8 in MySQL

Standaard hebben MySQL-databases een latin1-tekenset en sortering. Soms moet u echter UTF8-tekens opslaan in de MySQL-database. Zo wijzigt u de tekenset van latin1 in UTF8.


Hoe MySQL-database van latin1 naar UTF8 te converteren

Hier zijn de stappen om de tekenset te wijzigen van latin1 in UTF voor de MySQL-database.


1. Huidige tekenset bepalen

Log in op de MySQL-opdrachtregeltool. U ziet een wachtwoordprompt. Voer uw wachtwoord in om u aan te melden bij de MySQL-database.

$ sudo mysql -uroot -p

Voer de volgende opdracht uit om de huidige tekenset van uw database te bepalen. Vervang database_name hieronder door uw databasenaam

mysql> SELECT default_character_set_name 
       FROM information_schema.SCHEMATA S 
       WHERE schema_name = "database_name";
+----------------------------+
| default_character_set_name |
+----------------------------+
| latin1                     |
+----------------------------+

Als u de tekenset voor een specifieke databasetabel wilt bepalen, voert u de volgende opdracht uit. Vervang database_name en table_name door respectievelijk uw database- en tabelnamen.

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 lezen:hoe u het maximale aantal verbindingen in MySQL kunt vergroten

2. Tekenset wijzigen van latin1 in UTF8

Voer de volgende opdracht uit om de tekenset van de MySQL-database te wijzigen van latin1 in UTF8. Vervang database_name door uw databasenaam

Voor MySQL> 5.5

mysql> ALTER DATABASE database_name CHARACTER 
       SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Voor MySQL <=5.5

mysql> ALTER DATABASE database_name CHARACTER 
       SET utf8 COLLATE utf8_unicode_ci;

Bonus lezen:hoe te rangschikken over partitie in MySQL

Evenzo is hier de opdracht om de tekenset van de MySQL-tabel te wijzigen van latin1 in UTF8. Vervang table_name door uw databasetabelnaam.

Voor MySQL> 5.5

mysql> ALTER TABLE table_name CONVERT TO CHARACTER 
       SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Voor MySQL <=5.5

mysql> ALTER TABLE table_name CONVERT TO CHARACTER 
       SET utf8 COLLATE utf8_unicode_ci;

Hopelijk helpt de bovenstaande tutorial je om de karakterset van de database te wijzigen in utf8mb4 (UTF-8).


  1. VARRAY's maken als databaseobject in Oracle Database?

  2. PostgreSQL:serieel versus identiteit

  3. Echt versus drijvende komma versus geld

  4. Opgeslagen Oracle-procedure:retourneer zowel de resultaatset als de out-parameters