Yadda ake ajiye Emoji cikin MySQL? Shigar da ma'anar alamar tambaya ta Emoji database

Idan an adana kalmar Emoji a cikin rufaffen utf8MySQL databaseko MariaDB, ba za a iya nunawa ba.

Me yasa kalmar Emoji da aka shigar a cikin bayanan ta zama alamar tambaya?

Saboda maganganun Emoji haruffa 4-byte ne, kuma saitin haruffan utf8 yana goyan bayan baiti 1-3 ne kawai na haruffa, ba za a iya rubuta maganganun Emoji cikin ma'ajin bayanai ba.

Yadda za a warware matsalar da kalmar Emoji ta shigar a cikin ma'ajin bayanai ta zama alamar tambaya?

Akwai mafita guda 2:

  1. Shigar da rubutu da hannu, maye gurbin haruffan byte huɗu tare da haruffa na al'ada.
  2. gyara MySQL Saitin haruffan bayanai, canza saitin bayanan bayanai daga utf8 zuwa utf8mb4, goyan bayan haruffa 1-4 byte.

A gaskiya ma, hanyar farko ita ce aiki mai yawa kuma ba a ba da shawarar ba.

Ana ba da shawarar yin amfani da bayani na biyu, gyara saitin bayanan bayanan MySQL.

Tun da sigar MySQL 5.5.3, ma'ajin bayanai na iya tallafawa saitin halayen utf4mb8 na 4 bytes, kuma hali na iya samun har zuwa 4 bytes, don haka yana iya tallafawa ƙarin saitin haruffa, kuma yana iya adana maganganun Emoji.

  • Bayan MySQL 5.5.3, zaku iya haɓaka haɓakawa ba tare da matsala ba zuwa saitin halayen utf8mb4.
  • A lokaci guda, utf8mb4 ya dace da saitin halayen utf8.
  • Rufaffen, matsayi da ajiyar haruffa utf8 suna cikin utf8mb4.
  • Daidai da saitin harafi utf8, babu lahani ga data kasance.

SabodaphpMyAdminDon sabbin allunan da aka ƙirƙira a cikin sabuwar bayanan da aka ƙirƙira, tsohowar rufaffiyar haruffa ita ce:Latin1

  • Wannan rufaffen ba zai iya saka kalmomin Sinanci da na Emoji ba;
  • Kuna buƙatar canza tsarin saitin haruffa na saitin bayanan bayanai da tebur zuwa utf8mb4;
  • Sannan, sake kunna MySQL, zaku iya saka kalmomin Sinanci da Emoji.

Maganin matsalar halayyar MySQL Emoji

shafi na 1:Gyara fayil ɗin sanyi na MySQL my.cnf

  • (Windows Server is my.ini,LinuxSabar shine my.cnf)
  • my.cnf fayil, yawanci a/etc/mysql/my.cnfmatsayi.
  • Cibiyar Kula da CWPfayil ɗin my.cnf, wanda ke ciki/etc/my.cnfmatsayi.

Bayan kun samo shi, da fatan za a ƙara abubuwan da ke gaba a cikin sassa uku masu zuwa ▼

[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'

shafi na 2:Sake kunna bayanan MySQL

service mysqld restart

Mataki na 3: Duba saitin harafin kuma shigar da ▼ a cikin layin umarni na SQL

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_database';

Duba idan mai zuwa

Yadda ake ajiye Emoji cikin MySQL? Shigar da ma'anar alamar tambaya ta Emoji database

Shigar da umarnin SQL mai zuwa▼

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

Duba idan ya kasance kamar haka▼

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

| 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 |

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

Bayan ƙirƙirar sabon bayanai a cikin phpMyAdmin, dole ne kuDuba lambar bayanai ▼

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

Idan ba a shigar da bayanan bayanan bautf8mb4, dole ne ka canza yanayin bayanan da aka saita zuwautf8mb4 .

Yadda za a gyara saitin bayanan bayanai zuwa utf8mb4?

Mataki 1: Danna sunan bayanai na yanzu a cikin phpMyAdmin, sannan danna SQL.

Mataki 2: Shigar da umarni mai zuwa don gyara halayen bayanan da aka saita zuwautf8mb4

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

shafi na 3:Sake kunna bayanan MySQL

service mysqld restart
  • Shi ke nan.

Ga wasu misalan umarnin SQL:

Canja saitin halayen tsoho da duk ginshiƙan haruffa na tebur zuwa sabon saitin harafi ▼

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

Idan kawai ka canza saitin halayen tebur kawai▼

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

Gyara saitin yanayin filin ▼

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

Duba lambar tebur ▼

SHOW CREATE TABLE tbl_name;

Duba Lambobin filin ▼

SHOW FULL COLUMNS FROM tbl_name;

Duba lambar bayanai na yanzu ▼

SHOW VARIABLES LIKE 'character_set_%';
  • Kunshin direba na mysql-connector-java yana goyan bayan utf5.1.13mb8 a cikin 4+

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "Yadda ake ajiye Emoji a cikin MySQL? Shigar da ma'aunin alamar tambaya na Emoji database", wanda ke taimaka muku.

Barka da zuwa raba hanyar haɗin wannan labarin:https://www.chenweiliang.com/cwl-26592.html

Barka da zuwa tashar Telegram na Chen Weiliang's blog don samun sabbin abubuwa!

🔔 Kasance na farko don samun "ChatGPT Content Marketing AI Tool Guideing Guide" a cikin babban jagorar tashar! 🌟
📚 Wannan jagorar ya ƙunshi ƙima mai yawa, 🌟Wannan dama ce da ba kasafai ba, kar a rasa ta! ⏰⌛💨
Share da like idan kuna so!
Rarraba ku da abubuwan so sune ci gaba da ƙarfafa mu!

 

comments

Adireshin imel ba za a buga ba. Ana amfani da filayen da ake buƙata * Alamar

gungura zuwa sama