sql >> Database >  >> RDS >> Mysql

Een MySQL-database converteren naar UTF-8-codering

In dit artikel wordt beschreven hoe u de tekenset van een MySQL-database converteert naar UTF-8-codering (ook bekend als Unicode). De tekencoderingsset UTF-8 ondersteunt veel alfabetten en tekens voor een grote verscheidenheid aan talen.

Hoewel MySQL de UTF-8-tekenset ondersteunt, wordt deze vaak niet als standaardtekenset gebruikt tijdens het maken van databases en tabellen. Als gevolg hiervan gebruiken veel databases de Latijnse tekenset, die afhankelijk van de toepassing beperkt kan zijn.

De huidige tekencoderingsset bepalen

Om te bepalen welke tekencoderingsset een MySQL-database of -tabel momenteel gebruikt:

  1. Log in op uw A2 Hosting SSH-account.
  2. Typ de volgende opdracht op de opdrachtregel en vervang gebruikersnaam door uw gebruikersnaam:
    mysql -u username -p
  3. Bij de prompt Enter Password typt u uw wachtwoord. Wanneer u het juiste wachtwoord typt, verschijnt de prompt mysql>.
  4. Om de huidige tekencoderingsset voor een bepaalde database weer te geven, typt u de volgende opdracht achter de mysql>-prompt. Vervang dbname door de databasenaam:

    SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "dbname";
  5. Om de huidige tekencoderingsset voor een bepaalde tabel in een database weer te geven, typt u de volgende opdracht achter de mysql>-prompt. Vervang dbname door de databasenaam en tabelnaam door de naam van de tabel:

    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 = "dbname" AND T.table_name = "tablename";
  6. Om de mysql te verlaten programma, typ \q achter de mysql> prompt.

De tekencodering die is ingesteld naar UTF-8 converteren

Zorg ervoor dat u een back-up van de database maakt voordat u deze procedure start! U kunt een back-up maken van een MySQL-database met cPanel, phpMyAdmin of de mysqldump programma.

Om de tekencodering die is ingesteld naar UTF-8 te converteren:

  1. Log in op uw A2 Hosting SSH-account.
  2. Maak een tekstbestand met de naam .my.cnf . Om dit te doen, kunt u een teksteditor zoals Vim of Nano gebruiken. Deze procedure laat zien hoe u Nano kunt gebruiken. Typ de volgende opdracht op de opdrachtregel:
    nano .my.cnf
  3. Voeg de volgende regels toe aan het bestand en vervang gebruikersnaam door uw gebruikersnaam en wachtwoord door uw wachtwoord (zorg ervoor dat het wachtwoord tussen aanhalingstekens staat):

    [client]
    user=username
    password="password"
  4. Als de bewerkingen zijn voltooid, drukt u op Ctrl+X, typt u y om het bestand op te slaan en drukt u vervolgens op Enter.
  5. Om de tekensetcodering te wijzigen in UTF-8 voor alle tabellen in de opgegeven database, typt u de volgende opdracht op de opdrachtregel. Vervang dbname door de databasenaam:

    mysql --database=dbname -B -N -e "SHOW TABLES" | 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. Nadat de opdracht is voltooid, typt u de volgende opdracht om de mysql . te starten programma:

    mysql
  7. Om de tekensetcodering te wijzigen in UTF-8 voor de database zelf, typt u de volgende opdracht achter de mysql>-prompt. Vervang dbname door de databasenaam:

    ALTER DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;
  8. Om de mysql te verlaten programma, typ \q achter de mysql> prompt.
  9. Om de .my.cnf te verwijderen bestand, typt u de volgende opdracht op de opdrachtregel:

    rm .my.cnf
  10. Om te controleren of de tekensetcodering nu is ingesteld op UTF-8, volgt u de stappen in de procedure De huidige tekencoderingsset bepalen hierboven.

Meer informatie

Ga voor meer informatie over UTF-8 en Unicode naar http://en.wikipedia.org/wiki/UTF-8.


  1. Snelste methode voor SQL Server-inserts, updates, selects

  2. Inactieve mysql-verbindingen beëindigen

  3. psql:kan geen verbinding maken met server:verbinding geweigerd Fout bij verbinding met externe database

  4. Een getal opmaken als valuta in SQLite