U ka boloka Emoji joang ho MySQL? Kenya database Emoji expression question mark problem

Haeba polelo ea Emoji e bolokiloe ho utf8 encodingMySQL databasekapa MariaDB, ha e khone ho hlahisoa.

Hobaneng ha polelo ea Emoji e kentsoeng sebakeng sa polokelo ea litaba e fetoha sebopeho sa letšoao la lipotso?

Hobane lipolelo tsa Emoji ke litlhaku tse 4-byte, 'me sebopeho sa utf8 se tšehetsa feela litlhaku tse 1-3 tsa litlhaku, lipolelo tsa Emoji li ke ke tsa ngoloa sebakeng sa polokelo.

Mokhoa oa ho rarolla bothata boo polelo ea Emoji e kentsoeng ka har'a database e fetoha sebopeho sa letšoao la potso?

Ho na le litharollo tse 2:

  1. Kenya mongolo ka bowena, u tlosa litlhaku tsa li-byte tse 'ne ka litlhaku tse ikhethileng.
  2. fetola MySQL Sete ea litlhaku tsa database, fetola sebopeho sa database ho tloha ho utf8 ho ea ho utf8mb4, tšehetsa litlhaku tse 1-4.

Ha e le hantle, mokhoa oa pele o sebetsa haholo 'me ha o khothaletsoe.

Ho khothalletsoa ho sebelisa tharollo ea bobeli, ho fetola sete ea sebopeho sa database sa MySQL.

Ho tloha ka mofuta oa MySQL 5.5.3, database e ka tšehetsa sebopeho sa utf4mb8 sa li-byte tse 4, 'me sebapali se ka ba le li-byte tse 4, kahoo se ka tšehetsa lihlopha tse ngata tsa litlhaku, hape se ka boloka lipolelo tsa Emoji.

  • Ka mor'a MySQL 5.5.3, ha e le hantle u ka ntlafatsa ka mokhoa o sa tsitsang ho sete ea litlhaku tsa utf8mb4.
  • Ka nako e ts'oanang, utf8mb4 e lumellana le sete ea litlhaku tsa utf8.
  • Khoutu, boemo le polokelo ea litlhaku tsa utf8 li ho utf8mb4.
  • E ts'oanang le sete ea litlhaku tsa utf8, ha ho na tšenyo ho data e teng.

Ka lebaka laphpMyAdminBakeng sa litafole tse sa tsoa bōptjoa sebakeng sa polokelo ea boitsebiso bo sa tsoa thehoa, mokhoa oa kamehla oa khouto ke:Latin1

  • Khouto ena e ke ke ea kenya mantsoe a Sechaena le Emoji;
  • U hloka ho fetola encoding ea sebopeho sa sebopeho sa database le tafole ho utf8mb4;
  • Ebe o qala MySQL hape, o ka kenya mantsoe a Sechaena le Emoji.

Tharollo ea bothata ba sebopeho sa MySQL Emoji

Likhahlelo tsa 1:Fetola faele ea tlhophiso ea MySQL my.cnf

  • (Seva ea Windows ke my.ini,LinuxSeva ke my.cnf)
  • my.cnf file, hangata ka/etc/mysql/my.cnfSebaka.
  • Sehlopha sa Taolo sa CWPFaele ea my.cnf, e kene/etc/my.cnfSebaka.

Kamora ho e fumana, ka kopo eketsa litaba tse latelang likarolong tse tharo tse latelang ▼

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

Likhahlelo tsa 2:Qala hape database ea MySQL

service mysqld restart

Hata 3: Sheba sebopeho se behiloeng hape 'me u kenye ▼ moleng oa taelo oa SQL

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_database';

Sheba hore na lintho tse latelang ▼

U ka boloka Emoji joang ho MySQL? Kenya database Emoji expression question mark problem

Kenya taelo e latelang ea SQL▼

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

Hlahloba hore na e ka tsela e latelang▼

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

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

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

Kamora ho theha database e ncha ho phpMyAdmin, o tlamehaSheba khoutu ea polokelo ea boitsebiso ▼

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

Haeba encoding ea database ha e eoutf8mb4, o tlameha ho fetola tlhaku ea database e behiloeng houtf8mb4 .

U ka fetola sebopeho sa database joang ho utf8mb4?

Hata 1: Tobetsa lebitso la hajoale la database ho phpMyAdmin, ebe o tobetsa SQL.

Mohato oa 2: Kenya taelo e latelang ho fetola sebopeho sa database se behiloeng houtf8mb4

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

Likhahlelo tsa 3:Qala hape database ea MySQL

service mysqld restart
  • Ho felile ke lehlohonolo.

Mehlala ke ena ea litaelo tsa SQL:

Fetola sete ea tlhaku ea kamehla le litšiea tsohle tsa litafole ho sete ea litlhaku tse ncha ▼

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

Ha feela o ka fetola sete ya tlhaku ya kamehla ya tafole▼

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

Fetola sehlopha sa litlhaku ▼

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

Sheba khoutu ea tafole ▼

SHOW CREATE TABLE tbl_name;

Sheba Likhoutu tsa Tšimo ▼

SHOW FULL COLUMNS FROM tbl_name;

Sheba khoutu ea hajoale ea database ▼

SHOW VARIABLES LIKE 'character_set_%';
  • Sephutheloana sa mysql-connector-java driver se tšehetsa feela utf5.1.13mb8 ho 4+

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) e arolelane "Joang ho boloka Emoji ho MySQL? Kenya database Emoji expression question mark problem", e leng thuso ho uena.

Rea u amohela ho arolelana sehokelo sa sengoloa sena:https://www.chenweiliang.com/cwl-26592.html

Rea u amohela ho mocha oa Telegraph oa blog ea Chen Weiliang ho fumana lintlha tsa morao-rao!

🔔 Eba oa pele oa ho fumana Tataiso ea Tšebeliso ea "ChatGPT Content Marketing AI" ea bohlokoa bukeng ea holimo ea seteishene! 🌟
📚 Tataiso ena e na le boleng bo boholo, 🌟Ona ke monyetla o sa tloaelehang, se ke oa o fetoa! ⏰⌛💨
Share le rata haeba u rata!
Ho arolelana le lintho tseo u li ratang ke khothatso ea rona e tsoelang pele!

 

Comments

Aterese ea hau ea lengolo tsoibila e ke ke ea phatlalatsoa. Ho sebelisoa masimo a hlokahalang * Letšoao

tsamaisetsa hodimo