Conas Emoji a shábháil i MySQL?Cuir isteach an bunachar sonraí Fadhb carachtair comhartha ceiste slonn Emoji

Má stóráiltear nathanna Emoji in ionchódú utf8Bunachar sonraí MySQL saor in aisce,nó MariaDB, ní féidir é a thaispeáint.

Cén fáth a n-iompaíonn an slonn Emoji a cuireadh isteach sa bhunachar sonraí ina charachtar comhartha ceiste?

Toisc gur carachtair 4-beart iad na habairtí Emoji, agus nach dtacaíonn an tacar carachtar utf8 ach le 1-3 carachtar beart, ní féidir nathanna Emoji a scríobh chuig an mbunachar sonraí.

Conas an fhadhb a réiteach a d’iompaigh nathanna Emoji ina gcarachtair mharcanna ceiste nuair a cuireadh isteach iad sa bhunachar sonraí?

Tá 2 réiteach ann:

  1. Iontráil téacs de láimh, ag cur carachtair saincheaptha in ionad carachtair ceithre bheart.
  2. mhodhnú MySQL Tacar carachtar bunachar sonraí, athraigh tacar carachtar an bhunachair shonraí ó utf8 go utf8mb4, ag tacú le 1-4 carachtar beart.

Go deimhin, éilíonn an chéad mhodh an iomarca oibre agus níl sé inmholta.

Moltar an dara réiteach a úsáid chun tacar carachtar bunachar sonraí MySQL a mhodhnú.

Ag tosú ó MySQL leagan 5.5.3, is féidir leis an mbunachar sonraí tacú leis an tacar carachtar 4-byte utf8mb4, agus is féidir suas le 4 bytes a bheith ag carachtar, ionas gur féidir leis tacú le tacair carachtar níos mó agus nathanna Emoji a stóráil.

  • Tar éis MySQL 5.5.3, is féidir é a uasghrádú go bunúsach gan uaim chuig an tacar carachtar utf8mb4.
  • Ag an am céanna, tá utf8mb4 comhoiriúnach leis an tacar carachtar utf8.
  • Tá ionchódú, suíomh agus stóráil carachtair utf8 in utf8mb4.
  • An tacar carachtar céanna le utf8 agus ní dhéanfaidh sé damáiste do shonraí atá ann cheana féin.

Toisc iphpMyAdminMaidir le táblaí nuachruthaithe i mbunachair shonraí nuachruthaithe, is é an t-ionchódú carachtar réamhshocraithe ná:Latin1

  • Ní féidir leis an ionchódú seo nathanna Síneacha agus Emoji a chur isteach;
  • Is gá an tacar carachtar bunachar sonraí agus an t-ionchódú tacar carachtar tábla a athrú go utf8mb4;
  • Ansin, atosaigh MySQL agus is féidir leat nathanna Síneacha agus Emoji a chur isteach.

Réiteach fadhbanna carachtar MySQL Emoji

Céim 1:Athraigh an comhad cumraíochta MySQL my.cnf

  • (my.ini le haghaidh freastalaithe Windows,LinuxIs é an freastalaí my.cnf)
  • my.cnf comhad, de ghnáth i/etc/mysql/my.cnfSuíomh.
  • Painéal Rialúcháin CWPTá an comhad my.cnf isteach/etc/my.cnfSuíomh.

Tar éis duit é a fháil, cuir an t-ábhar seo a leanas isteach sna trí chuid seo a leanas ▼

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

Céim 2:Atosaigh an bunachar sonraí MySQL

service mysqld restart

Céim 3: Seiceáil an tacar carachtar arís agus cuir isteach ▼ sa líne ordaithe SQL

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_database';

Seiceáil an bhfuil sé mar seo a leanas ▼

Conas Emoji a shábháil i MySQL?Cuir isteach an bunachar sonraí Fadhb carachtair comhartha ceiste slonn Emoji

Cuir isteach an t-ordú SQL seo a leanas ▼

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

Seiceáil an bhfuil sé mar seo a leanas ▼

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

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

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

Tar éis bunachar sonraí nua a chruthú i phpMyAdmin, ní mór duitFéach ar ionchódú bunachar sonraí ▼

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

Mura bhfuil an ionchódú bunachar sonraíutf8mb4, ní mór an tacar carachtar bunachar sonraí a mhodhnú goutf8mb4 .

Conas an tacar carachtar bunachar sonraí a mhodhnú go utf8mb4?

Céim 1: Cliceáil ar ainm an bhunachair shonraí reatha i phpMyAdmin, ansin cliceáil ar SQL.

Céim 2: Cuir isteach an t-ordú seo a leanas chun an tacar carachtar bunachar sonraí a mhodhnúutf8mb4

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

Céim 3:Atosaigh an bunachar sonraí MySQL

service mysqld restart
  • Sin é.

Seo roinnt samplaí ordú SQL:

Athraigh an tacar carachtar réamhshocraithe agus gach colún carachtar den tábla go dtí an tacar carachtar nua ▼

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;

Mura ndéanann tú ach tacar carachtar réamhshocraithe an tábla a mhodhnú▼

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

Athraigh an tacar carachtar de réimse ▼

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;

Féach ar an gcód tábla ▼

SHOW CREATE TABLE tbl_name;

Féach ar ionchódú réimse ▼

SHOW FULL COLUMNS FROM tbl_name;

Féach ar ionchódú an bhunachair shonraí reatha ▼

SHOW VARIABLES LIKE 'character_set_%';
  • Ní thacaíonn an pacáiste tiománaí mysql-connector-java ach le utf5.1.13mb8 i 4+

Tá súil agam Blag Chen Weiliang ( https://www.chenweiliang.com/ ) roinnte "Conas Emoji a stóráil i MySQL? Fadhb le carachtair chomhartha ceiste Emoji a chur isteach sa bhunachar sonraí", a bheidh ina chuidiú duit.

Fáilte romhat nasc an ailt seo a roinnt:https://www.chenweiliang.com/cwl-26592.html

Chun níos mó cleasanna ceilte a dhíghlasáil🔑, fáilte romhat páirt a ghlacadh inár gcainéal Telegram!

Roinn agus maith más maith leat é! Is iad do chuid scaireanna agus rudaí is maith leat ár spreagadh leanúnach!

 

发表 评论

Ní fhoilseofar do sheoladh ríomhphoist. Úsáidtear réimsí riachtanacha * Lipéad

Scrollaigh go dtí an Barr