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

Sådan gemmer du UTF8-tegn i MySQL

MySQL giver dig mulighed for at gemme UTF8-tegn i databasen. Dette er nyttigt, mens du arbejder med ikke-ascii- eller unicode-data. Faktisk kan du endda konvertere alle tabeller til UTF8, hvis du vil. I denne artikel vil vi se på, hvordan man understøtter fulde unicode-tegn i MySQL. Sådan gemmer du UTF8-tegn i MySQL.



Sådan gemmer du UTF8-tegn i MySQL

Her er trinene til at gemme UTF8-tegn i MySQL. Som standard understøtter MySQL kun ASCII-tegn og gemmer data i latin1-tegnsæt.

1. Tjek tegnsæt

Åbn terminal og kør følgende kommando, der erstatter brugernavn nedenfor med dit databasebrugernavn

$ mysql -u brugernavn -p

Du vil se en adgangskodeprompt. Indtast adgangskode og log ind på MySQL.

Kør følgende kommando for at vise tegnsættet

mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | cp850                                                   |
| character_set_connection | cp850                                                   |
| character_set_database   | latin1                                                  |
| character_set_filesystem | binary                                                  |
| character_set_results    | cp850                                                   |
| character_set_server     | latin1                                                  |
| character_set_system     | utf8                                                    |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.6\share\charsets\ |
+--------------------------+---------------------------------------------------------+

Bonus Læs:Sådan rangerer du over partition i MySQL

2. Skift tegnsæt til UTF8

Åbn filen my.cnf i terminal

$ sudo vi /etc/my.cnf

Tilføj /erstat linjen efter [klient] og [mysqld]

[client] 
default-character-set=utf8mb4 
[mysqld] 
character-set-server = utf8mb4


Bonus Læs:Sådan ændres MySQL-tidszone i forespørgsel

3. Genstart MySQL Server

Genstart MySQL Server for at anvende ændringer

$ sudo service mysql restart

Fra nu af vil alle dine fremtidige databaser være i stand til at gemme UTF8-tegn. Dine eksisterende databaser vil dog fortsat understøtte deres gamle tegnsæt.

Så vi skal konvertere din database til UTF8

Bonus Læs:Sådan ændres MySQL-serverens tidszone


4. Konverter MySQL-database til UTF8

Her er trinene til at konvertere alle tabeller til UTF8. Log ind på MySQL som vist i trin 1.

Kør følgende kommando for at ændre tegnsættet og sorteringen af ​​din database til UTF8. Erstat dbname nedenfor med dit databasenavn.

mysql> ALTER DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Ovenstående kommando vil konvertere alle tabeller i din database til UTF8.

Forhåbentlig vil ovenstående vejledning hjælpe dig med at gemme UTF8-data i MySQL.

Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!

  1. Sammenkæd flere rækker i et array med SQL på PostgreSQL

  2. Markør i procedure, der returnerer flere værdier end forespørgsel

  3. SQL opdelt kommasepareret række

  4. Vil ANSI JOIN vs. ikke-ANSI JOIN-forespørgsler fungere anderledes?