Mar a shàbhaileas tu Emoji a-steach do MySQL?Cuir a-steach an stòr-dàta duilgheadas caractar comharra ceist Emoji

Ma tha an abairt Emoji air a stòradh ann an còdachadh utf8Stòr-dàta MySQLno MariaDB, chan urrainnear a thaisbeanadh.

Carson a tha an abairt Emoji a chaidh a chuir a-steach don stòr-dàta gu bhith na charactar comharra ceist?

Leis gur e caractaran 4-byte a th’ ann an abairtean Emoji, agus chan eil an seata caractar utf8 a’ toirt taic ach do 1-3 bytes de charactaran, chan urrainnear abairtean Emoji a sgrìobhadh a-steach don stòr-dàta.

Mar a dh’ fhuasglas tu an duilgheadas gu bheil an abairt Emoji a chaidh a chuir a-steach don stòr-dàta gu bhith na charactar comharra ceist?

Tha 2 fhuasglaidhean ann:

  1. Cuir a-steach teacsa le làimh, an àite caractaran ceithir-byte le caractaran àbhaisteach.
  2. atharraich MySQL Seata caractar stòr-dàta, atharraich seata caractar an stòr-dàta bho utf8 gu utf8mb4, cuir taic ri caractaran 1-4 byte.

Gu dearbh, tha a 'chiad dhòigh cus obrach agus chan eil e ciallach.

Thathas a’ moladh an dàrna fuasgladh a chleachdadh, atharraich seata caractar stòr-dàta MySQL.

A’ tòiseachadh bho dhreach MySQL 5.5.3, faodaidh an stòr-dàta taic a thoirt don t-seata caractar utf4mb8 de 4 bytes, agus faodaidh suas ri 4 bytes a bhith aig caractar, gus an urrainn dha barrachd sheataichean caractar a chumail, agus cuideachd abairtean Emoji a stòradh.

  • Às deidh MySQL 5.5.3, faodaidh tu ùrachadh gu bunaiteach gu seata caractar utf8mb4.
  • Aig an aon àm, tha utf8mb4 co-chòrdail ris an t-seata caractar utf8.
  • Tha còdachadh, suidheachadh agus stòradh charactaran utf8 ann an utf8mb4.
  • Coltach ri seata caractar utf8, gun mhilleadh sam bith air an dàta a th ’ann.

Gu bhithphpMyAdminAirson clàran a chaidh a chruthachadh às ùr ann an stòr-dàta a chaidh a chruthachadh às ùr, is e an còdachadh caractar bunaiteach:Latin1

  • Chan urrainn don chòdachadh seo abairtean Sìneach is Emoji a chuir a-steach;
  • Feumaidh tu còdachadh seata charactaran an t-seata charactaran stòr-dàta agus an clàr atharrachadh gu utf8mb4;
  • An uairsin, ath-thòiseachadh MySQL, faodaidh tu abairtean Sìneach agus Emoji a chuir a-steach.

Fuasgladh duilgheadas caractar MySQL Emoji

第 1 步 :Atharraich am faidhle rèiteachaidh MySQL my.cnf

  • (Is e my.ini am frithealaiche Windows,LinuxIs e am frithealaiche my.cnf)
  • my.cnf faidhle, mar as trice ann an/etc/mysql/my.cnfsuidheachadh.
  • Pannal Smachd CWPTha am faidhle my.cnf, a-staigh/etc/my.cnfsuidheachadh.

Às deidh dhut a lorg, feuch an cuir thu an susbaint a leanas anns na trì pàirtean 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'

第 2 步 :Ath-thòisich an stòr-dàta MySQL

service mysqld restart

Ceum 3: Thoir sùil air an t-seata caractar a-rithist agus cuir a-steach ▼ ann an loidhne-àithne SQL

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_database';

Thoir sùil ma tha na leanas ▼

Mar a shàbhaileas tu Emoji a-steach do MySQL?Cuir a-steach an stòr-dàta duilgheadas caractar comharra ceist Emoji

Cuir a-steach an àithne SQL a leanas ▼

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

Thoir sùil ma tha e mar 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 |

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

Às deidh dhut stòr-dàta ùr a chruthachadh ann am phpMyAdmin, feumaidh tuFaic còd stòr-dàta ▼

SHOW CREATE DATABASE db_name;
  • Mar eisimpleir:SHOW CREATE DATABASE test;

Mura h-eil còdachadh an stòr-dàtautf8mb4, feumaidh tu seata caractar an stòr-dàta atharrachadh guutf8mb4 .

Mar a dh’ atharraicheas tu caractar an stòr-dàta gu utf8mb4?

Step 1: Cliog air ainm an stòr-dàta gnàthach ann am phpMyAdmin, agus an uairsin cliog air SQL.

Step 2: Cuir a-steach an àithne a leanas gus an caractar stòr-dàta atharrachadh guutf8mb4

ALTER DATABASE db_name DEFAULT CHARACTER SET utf8mb4
  • Mar eisimpleir:ALTER DATABASE test DEFAULT CHARACTER SET utf8mb4;

第 3 步 :Ath-thòisich an stòr-dàta MySQL

service mysqld restart
  • Sin e.

Seo eisimpleirean de dh’ òrdughan SQL:

Atharraich an seata caractar bunaiteach agus gach colbh caractar den chlàr chun t-seata caractar ùr ▼

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

Mura h-atharraich thu ach an t-seata charactaran bunaiteach den chlàr ▼

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

Atharraich seata caractar raon ▼

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

Faic còd clàr ▼

SHOW CREATE TABLE tbl_name;

Faic Còdan Achaidh ▼

SHOW FULL COLUMNS FROM tbl_name;

Faic an còd stòr-dàta làithreach ▼

SHOW VARIABLES LIKE 'character_set_%';
  • Chan eil am pasgan draibhear mysql-connector-java a’ toirt taic ach do utf5.1.13mb8 ann an 4+

An dòchas blog Chen Weiliang ( https://www.chenweiliang.com/ ) co-roinnte "Mar a shàbhaileas tu Emoji a-steach do MySQL? Cuir a-steach an stòr-dàta duilgheadas caractar comharra ceist Emoji", a tha cuideachail dhut.

Fàilte gus ceangal an artaigil seo a cho-roinn:https://www.chenweiliang.com/cwl-26592.html

Fàilte don t-sianal Telegram de bhlog Chen Weiliang gus na h-ùrachaidhean as ùire fhaighinn!

🔔 Bi mar a’ chiad fhear a fhuair an “Stiùireadh Cleachdadh Inneal AI Margaidheachd Susbaint ChatGPT” luachmhor ann an eòlaire mullach an t-seanail! 🌟
📚 Tha luach mòr anns an stiùireadh seo, 🌟 Is e cothrom ainneamh a tha seo, na caill e! ⏰⌛💨
Roinn agus toil ma thogras tu!
Is e do roinneadh agus do rudan mar ar brosnachadh leantainneach!

 

发表 评论

Cha tèid do sheòladh puist-d fhoillseachadh. 必填 项 已 用 * Label

sgrolaich gu mullach