sql >> Databasteknik >  >> RDS >> Mysql

Hur man konverterar en MySQL-databas till UTF-8-kodning

Den här artikeln beskriver hur man konverterar en MySQL-databas teckenuppsättning till UTF-8-kodning (även känd som Unicode). Teckenkodningsuppsättningen UTF-8 stöder många alfabet och tecken för en mängd olika språk.

Även om MySQL stöder teckenkodningsuppsättningen UTF-8, används den ofta inte som standardteckenuppsättning under skapande av databaser och tabeller. Som ett resultat använder många databaser den latinska teckenuppsättningen, vilket kan vara begränsande beroende på programmet.

Bestämma den aktuella teckenkodningsuppsättningen

För att avgöra vilken teckenkodningsuppsättning en MySQL-databas eller tabell för närvarande använder:

  1. Logga in på ditt A2 Hosting SSH-konto.
  2. På kommandoraden skriver du följande kommando och ersätter användarnamnet med ditt användarnamn:
    mysql -u användarnamn -p
  3. Skriv ditt lösenord vid uppmaningen Enter Password. När du skriver in rätt lösenord visas mysql>-prompten.
  4. För att visa den aktuella teckenkodningsuppsättningen för en viss databas, skriv följande kommando vid mysql>-prompten. Ersätt dbname med databasnamnet:

    SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name ="dbname";
  5. För att visa den aktuella teckenkodningsuppsättningen för en viss tabell i en databas, skriv följande kommando vid mysql>-prompten. Ersätt dbname med databasnamnet och tabellnamn med tabellens namn:

    SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA WHERE CCSA.collation_name =T.table_collation OCH T.table_schema ="dbname" ="tablename_name"; 
  6. Att avsluta mysql program, skriv \q vid mysql>-prompten.

Konvertera teckenkodningsuppsättningen till UTF-8

Se till att du säkerhetskopierar databasen innan du påbörjar denna procedur! Du kan säkerhetskopiera en MySQL-databas med cPanel, phpMyAdmin eller mysqldump program.

Så här konverterar du teckenkodningsuppsättningen till UTF-8:

  1. Logga in på ditt A2 Hosting SSH-konto.
  2. Skapa en textfil med namnet .my.cnf . För att göra detta kan du använda en textredigerare som Vim eller Nano. Denna procedur visar hur du använder Nano. Skriv följande kommando på kommandoraden:
    nano .my.cnf
  3. Lägg till följande rader i filen, ersätt användarnamn med ditt användarnamn och lösenord med ditt lösenord (se till att lösenordet är omgivet av citattecken):

    [client]user=usernamepassword="lösenord"
  4. När redigeringarna är klara trycker du på Ctrl+X, skriver y för att spara filen och trycker sedan på Retur.
  5. För att ändra teckenuppsättningskodningen till UTF-8 för alla tabeller i den angivna databasen, skriv följande kommando på kommandoraden. Ersätt dbname med databasnamnet:

    mysql --database=dbname -B -N -e "VISA TABELLER" | awk '{print "SET foreign_key_checks =0; ALTER TABLE", $1, "CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; SET foreign_key_checks =1; "}' | mysql --database=dbname
  6. När kommandot är klart skriver du följande kommando för att starta mysql program:

    mysql
  7. För att ändra teckenuppsättningskodningen till UTF-8 för själva databasen, skriv följande kommando vid mysql>-prompten. Ersätt dbname med databasnamnet:

    ÄNDRA DATABAS dbname TECKENSTÄLLNING utf8 COLLATE utf8_general_ci;
  8. Att avsluta mysql program, skriv \q vid mysql>-prompten.
  9. För att ta bort .my.cnf fil, skriv följande kommando på kommandoraden:

    rm .my.cnf
  10. För att verifiera att teckenuppsättningskodningen nu är inställd på UTF-8, följ stegen i Proceduren för att fastställa aktuell teckenkodningsuppsättning ovan.

Mer information

För mer information om UTF-8 och Unicode, besök http://en.wikipedia.org/wiki/UTF-8.


  1. Hur Stuff och "For XML Path" fungerar i SQL Server?

  2. kontrollera om det är en nummerfunktion i Oracle

  3. Bästa metoder för skalning av databaser:Del 1

  4. Hur deklarerar och använder jag variabler i PL/SQL som jag gör i T-SQL?