Drejtoria e artikujve
- 1 Pse shprehja Emoji e futur në bazën e të dhënave bëhet një karakter pikëpyetje?
- 2 Si të zgjidhet problemi që shprehja Emoji e futur në bazën e të dhënave bëhet një karakter pikëpyetje?
- 3 Zgjidhja e problemit të karakterit MySQL Emoji
- 4 Si të modifikoni grupin e karaktereve të bazës së të dhënave në utf8mb4?
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:
- Futni tekstin manualisht, duke zëvendësuar karakteret katërbajtë me karaktere të personalizuara.
- 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.cnf
Vendndodhja. - Paneli i kontrollit CWPSkedari my.cnf është në
/etc/my.cnf
Vendndodhja.
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 ▼
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!
📚 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!