Si të ruani Emoji në MySQL? Futni në bazën e të dhënave problemin e karakterit të pikëpyetjes së shprehjes Emoji

Nëse shprehja Emoji ruhet në kodimin utf8Baza e të dhënave MySQLose MariaDB, nuk mund të shfaqet.

Pse shprehja Emoji e futur në bazën e të dhënave bëhet një karakter pikëpyetje?

Për shkak se shprehjet Emoji janë karaktere 4-bajtë dhe grupi i karaktereve utf8 mbështet vetëm 1-3 bajt karaktere, shprehjet Emoji nuk mund të shkruhen në bazën e të dhënave.

Si të zgjidhet problemi që shprehja Emoji e futur në bazën e të dhënave bëhet një karakter pikëpyetje?

Ka 2 zgjidhje:

  1. Futni tekstin manualisht, duke zëvendësuar karakteret katërbajtë me karaktere të personalizuara.
  2. modifikoj MySQL Set i karaktereve të bazës së të dhënave, ndryshoni grupin e karaktereve të bazës së të dhënave nga utf8 në utf8mb4, mbështetni karaktere 1-4 bajt.

Në fakt, metoda e parë është shumë punë dhe nuk është e këshillueshme.

Rekomandohet të përdorni zgjidhjen e dytë, modifikoni grupin e karaktereve të bazës së të dhënave MySQL.

Që nga versioni MySQL 5.5.3, baza e të dhënave mund të mbështesë grupin e karaktereve utf4mb8 prej 4 bajte, dhe një karakter mund të ketë deri në 4 bajt, kështu që mund të mbështesë më shumë grupe karakteresh dhe gjithashtu mund të ruajë shprehjet Emoji.

  • Pas MySQL 5.5.3, në thelb mund të përmirësoni pa probleme në grupin e karaktereve utf8mb4.
  • Në të njëjtën kohë, utf8mb4 është në përputhje me grupin e karaktereve utf8.
  • Kodimi, pozicioni dhe ruajtja e karaktereve utf8 janë në utf8mb4.
  • Njësoj si grupi i karaktereve utf8, nuk ka dëmtime në të dhënat ekzistuese.

Për shkak tëphpMyAdminPër tabelat e krijuara rishtazi në një bazë të dhënash të krijuar rishtazi, kodimi i parazgjedhur i karaktereve është:Latin1

  • Ky kodim nuk mund të futë shprehje kineze dhe emoji;
  • Ju duhet të ndryshoni kodimin e grupit të karaktereve të grupit të karaktereve dhe tabelës së bazës së të dhënave në utf8mb4;
  • Më pas, rinisni MySQL, mund të futni shprehje kineze dhe emoji.

Zgjidhja e problemit të karakterit MySQL Emoji

第 1 步:Modifiko skedarin e konfigurimit MySQL my.cnf

  • (Serveri i Windows është my.ini,LinuxServeri është my.cnf)
  • skedari my.cnf, zakonisht në/etc/mysql/my.cnfVendndodhja.
  • Paneli i kontrollit CWPSkedari my.cnf është në/etc/my.cnfVendndodhja.

Pasi ta gjeni, ju lutemi shtoni përmbajtjen e mëposhtme në tre pjesët ▼

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4'

第 2 步:Rinisni bazën e të dhënave MySQL

service mysqld restart

Hapi 3: Kontrolloni sërish grupin e karaktereve dhe futni ▼ në vijën e komandës SQL

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_database';

Kontrolloni nëse ▼

Si të ruani Emoji në MySQL? Futni në bazën e të dhënave problemin e karakterit të pikëpyetjes së shprehjes Emoji

Futni komandën e mëposhtme SQL▼

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';

Kontrolloni nëse është si më poshtë

 +--------------------------+--------------------+

| Variable_name | Value |

+--------------------------+--------------------+

| character_set_client | utf8mb4 |

| character_set_connection | utf8mb4 |

| character_set_database | utf8mb4 |

| character_set_filesystem | binary |

| character_set_results | utf8mb4 |

| character_set_server | utf8mb4 |

| character_set_system | utf8 |

| collation_connection | utf8mb4_unicode_ci |

| collation_database | utf8mb4_unicode_ci |

| collation_server | utf8mb4_unicode_ci |

+--------------------------+--------------------+

Pasi të keni krijuar një bazë të dhënash të re në phpMyAdmin, duhetShiko kodin e bazës së të dhënave ▼

SHOW CREATE DATABASE db_name;
  • 如:SHOW CREATE DATABASE test;

Nëse kodimi i bazës së të dhënave nuk ështëutf8mb4, duhet të modifikoni grupin e karaktereve të bazës së të dhënave nëutf8mb4 .

Si të modifikoni grupin e karaktereve të bazës së të dhënave në utf8mb4?

Hapi 1: Klikoni emrin aktual të bazës së të dhënave në phpMyAdmin, më pas klikoni SQL.

Hapi 2: Futni komandën e mëposhtme për të modifikuar karakterin e caktuar të bazës së të dhënaveutf8mb4

ALTER DATABASE db_name DEFAULT CHARACTER SET utf8mb4
  • 如:ALTER DATABASE test DEFAULT CHARACTER SET utf8mb4;

第 3 步:Rinisni bazën e të dhënave MySQL

service mysqld restart
  • Kjo eshte.

Këtu janë disa shembuj të komandave SQL:

Ndryshoni grupin e paracaktuar të karaktereve dhe të gjitha kolonat e karaktereve të tabelës në grupin e ri të karaktereve ▼

ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8_general_ci;
  • 如:ALTER TABLE logtest CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8_general_ci;

Nëse modifikoni vetëm grupin e paracaktuar të karaktereve të tabelës ▼

ALTER TABLE tbl_name  DEFAULT CHARACTER SET utf8mb4 COLLATE utf8_general_ci;
  • 如:ALTER TABLE logtest DEFAULT CHARACTER SET utf8mb4 COLLATE utf8_general_ci;

Ndryshoni grupin e karaktereve të një fushe ▼

ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name 
  • 如:ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

Shiko kodin e tabelës ▼

SHOW CREATE TABLE tbl_name;

Shiko kodet e fushave ▼

SHOW FULL COLUMNS FROM tbl_name;

Shiko kodin aktual të bazës së të dhënave ▼

SHOW VARIABLES LIKE 'character_set_%';
  • Paketa e shoferit mysql-connector-java mbështet vetëm utf5.1.13mb8 në 4+

Blogu Hope Chen Weiliang ( https://www.chenweiliang.com/ ) shpërndau "Si të ruaj Emoji në MySQL? Fut në bazën e të dhënave problemin e karakterit të pikëpyetjes së shprehjes Emoji", e cila është e dobishme për ju.

Mirë se vini të shpërndani lidhjen e këtij artikulli:https://www.chenweiliang.com/cwl-26592.html

Mirësevini në kanalin Telegram të blogut të Chen Weiliang për të marrë përditësimet më të fundit!

🔔 Bëhu i pari që merr "Udhëzuesin e përdorimit të mjeteve të marketingut të përmbajtjes AI" me vlerë "ChatGPT Content Marketing AI" në drejtorinë kryesore të kanalit! 🌟
📚 Ky udhëzues përmban vlera të mëdha, 🌟Ky është një mundësi e rrallë, mos e humbisni! ⏰⌛💨
Shpërndaje dhe like nëse të pëlqen!
Ndarjet dhe pëlqimet tuaja janë motivimi ynë i vazhdueshëm!

 

发表 评论

Adresa juaj e emailit nuk do të publikohet. Përdoren fushat e kërkuara * Etiketa

lëvizni në krye