sql >> Databasteknik >  >> RDS >> Mysql

Hur man ändrar teckenuppsättning från latin1 till UTF8 i MySQL

Som standard har MySQL-databaser latin1 teckenuppsättning och sortering. Men ibland kan du behöva lagra UTF8-tecken i MySQL-databasen. Så här ändrar du teckenuppsättning från latin1 till UTF8.


Hur man konverterar MySQL-databas från latin1 till UTF8

Här är stegen för att ändra teckenuppsättning från latin1 till UTF för MySQL-databasen.


1. Bestäm aktuell teckenuppsättning

Logga in på MySQL kommandoradsverktyg. Du kommer att se en lösenordsuppmaning. Ange ditt lösenord för att logga in i MySQL-databasen.

$ sudo mysql -uroot - p

Kör följande kommando för att bestämma den nuvarande teckenuppsättningen i din databas. Ersätt databasnamn nedan med ditt databasnamn

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

Om du vill bestämma teckenuppsättningen för en specifik databastabell, kör följande kommando. Ersätt databasnamn och tabellnamn med din databas respektive tabellnamn.

mysql> VÄLJ CCSA.character_set_name FROM information_schema.TABLES T, informationsschema.COLLATION_CHARACTER_SET_APPLICABILITY CCSA WHERE CCSA.collation_name =T.table_collation OCH T.table_schema ="databasnamn " OCH T.table_name ="tabellnamn ";

Bonus Läs:Hur man ökar Max anslutningar i MySQL

2. Ändra teckenuppsättning från latin1 till UTF8

Kör följande kommando för att ändra teckenuppsättningen i MySQL-databasen från latin1 till UTF8. Ersätt databasnamn med ditt databasnamn

För MySQL> 5.5

mysql> ALTER DATABASE database_name TECKENSET utf8mb4 SAMLA utf8mb4_unicode_ci;

För MySQL <=5.5

mysql> ALTER DATABASE database_name CHARACTER  SET utf8 COLLATE utf8_unicode_ci; 

Bonus Läs:Hur man rankar över partition i MySQL

På samma sätt, här är kommandot för att ändra teckenuppsättningen i MySQL-tabellen från latin1 till UTF8. Ersätt tabellnamn med ditt databastabellnamn.

För MySQL> 5.5

mysql> ALTER TABLE tabellnamn KONVERTERA TILL TECKENSETT utf8mb4 SÄMLA utf8mb4_unicode_ci;

För MySQL <=5.5

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

Förhoppningsvis kommer handledningen ovan att hjälpa dig att ändra databasens teckenuppsättning till utf8mb4 (UTF-8).


  1. PostgreSQL-databasövervakning:Tips för vad du ska övervaka

  2. Välj från tabell genom att bara veta datum utan tid (ORACLE)

  3. Fullständig lista över teckenuppsättningar som stöds av MariaDB

  4. Kan jag sätta ignore_dup_key på för en primärnyckel?