Pehea e mālama ai iā Emoji i MySQL?

Inā mālama ʻia ka ʻōlelo Emoji ma ka hoʻopili utf8MySQL waihonaa i ʻole MariaDB, ʻaʻole hiki ke hōʻike ʻia.

No ke aha i lilo ai ka ʻōlelo Emoji i komo i loko o ka waihona i mea hōʻailona nīnau?

No ka mea he 4-byte nā huaʻōlelo Emoji, a kākoʻo wale ka pūʻali utf8 i 1-3 paita o nā huaʻōlelo, ʻaʻole hiki ke kākau ʻia nā ʻōlelo Emoji i loko o ka waihona.

Pehea e hoʻoponopono ai i ka pilikia i hoʻokomo ʻia ka ʻōlelo Emoji i loko o ka waihona i lilo i mea hōʻailona nīnau?

Aia he 2 hoʻonā:

  1. E hoʻokomo i ka kikokikona me ka lima, e hoʻololi i nā huaʻōlelo ʻehā-byte me nā huaʻōlelo maʻamau.
  2. hoʻololi MySQL Hoʻonohonoho ʻano waihona waihona, hoʻololi i ka hoʻonohonoho ʻikepili waihona mai utf8 a i utf8mb4, kākoʻo i nā huaʻōlelo 1-4 byte.

ʻO kaʻoiaʻiʻo,ʻo ka hana mua he hana nui loa aʻaʻole pono.

Manaʻo ʻia e hoʻohana i ka hopena ʻelua, e hoʻololi i ka hoʻonohonoho ʻana i ka ʻikepili MySQL database.

Mai ka mana MySQL 5.5.3, hiki i ka waihona ke kākoʻo i ka utf4mb8 character set of 4 bytes, a hiki i ke kanaka ke loaʻa i ka 4 bytes, no laila hiki iā ia ke kākoʻo i nā pūʻulu kikoʻī hou aʻe, a hiki iā ia ke mālama i nā hōʻike Emojis.

  • Ma hope o MySQL 5.5.3, hiki iā ʻoe ke hoʻomaikaʻi i ka utf8mb4 character set.
  • Ma ka manawa like, kūpono ʻo utf8mb4 me ka hoʻonohonoho ʻano utf8.
  • Aia ka hoʻopili, kūlana a me ka mālama ʻana i nā huaʻōlelo utf8 ma utf8mb4.
  • E like me ka utf8 character set, ʻaʻohe pōʻino i ka ʻikepili i loaʻa.

Ma muli ophpMyAdminNo nā papa i hana hou ʻia i loko o kahi waihona ʻikepili i hana hou ʻia, ʻo ka hoʻopili ʻana i nā huaʻōlelo paʻamau:Latin1

  • ʻAʻole hiki i kēia hoʻopili ke hoʻokomo i nā huaʻōlelo Kina a me Emoji;
  • Pono ʻoe e hoʻololi i ka hoʻopili ʻana i ke ʻano o ka hoʻonohonoho ʻikepili a me ka papa i utf8mb4;
  • A laila, hoʻomaka hou i ka MySQL, hiki iā ʻoe ke hoʻokomo i nā ʻōlelo Kina a me Emoji.

ʻO ka hoʻonā pilikia ʻano MySQL Emoji

KaʻAnuʻu 1:Hoʻololi i ka waihona hoʻonohonoho MySQL my.cnf

  • (ʻO ke kikowaena Windows kaʻu.ini,LinuxʻO koʻu.cnf ke kikowaena)
  • my.cnf file, maʻamau i loko/etc/mysql/my.cnfWahi.
  • CWP Control Panelka waihona my.cnf, aia i loko/etc/my.cnfWahi.

Ma hope o ka loaʻa ʻana, e ʻoluʻolu e hoʻohui i kēia ʻike ma nā ʻāpana ʻekolu ▼

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

KaʻAnuʻu 2:E hoʻomaka hou i ka waihona MySQL

service mysqld restart

KaʻAnuʻu Hana 3: E nānā hou i ke ʻano i hoʻonohonoho ʻia a komo i ka ▼ ma ka laina kauoha SQL

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_database';

E nānā inā he ▼ kēia

Pehea e mālama ai iā Emoji i MySQL?

E komo i kēia kauoha SQL▼

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

E nānā inā penei ▼

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

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

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

Ma hope o ka hana ʻana i kahi waihona hou ma phpMyAdmin, pono ʻoeE nānā i ke code waihona ▼

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

Inā ʻaʻole ka hoʻopili ʻana i ka waihonautf8mb4, pono ʻoe e hoʻololi i ke ʻano ʻikepili i hoʻonohonoho ʻia iutf8mb4 .

Pehea e hoʻololi ai i ke ʻano waihona waihona i utf8mb4?

KaʻAnuʻu Hana 1: Kaomi i ka inoa waihona o kēia manawa ma phpMyAdmin, a laila kaomi SQL.

KaʻAnuʻu Hana 2: E hoʻokomo i kēia kauoha e hoʻololi i ke ʻano ʻikepili i hoʻonohonoho ʻiautf8mb4

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

KaʻAnuʻu 3:E hoʻomaka hou i ka waihona MySQL

service mysqld restart
  • ʻo ia wale nō.

Eia kekahi mau laʻana o nā kauoha SQL:

E hoʻololi i ka hoʻonohonoho ʻano paʻamau a me nā kolamu ʻano a pau o ka pākaukau i ka hoʻonohonoho ʻano hou ▼

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

Inā hoʻololi wale ʻoe i ka hoʻonohonoho paʻamau o ka pākaukau▼

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

Hoʻololi i ke ʻano o kahi kahua ▼

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

Nānā papa helu ▼

SHOW CREATE TABLE tbl_name;

E nānā i nā Code Field ▼

SHOW FULL COLUMNS FROM tbl_name;

E nānā i ke code database ▼

SHOW VARIABLES LIKE 'character_set_%';
  • Kākoʻo ka pūʻolo hoʻokele mysql-connector-java iā utf5.1.13mb8 ma 4+.

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) kaʻana like "Pehea e mālama ai iā Emoji i MySQL? E hoʻokomo i ka ʻikepili Emoji expression question mark character problem", he mea kōkua iā ʻoe.

Welina mai e kaʻana like i ka loulou o kēia ʻatikala:https://www.chenweiliang.com/cwl-26592.html

Welina mai i ke kahawai Telegram o ka moʻomanaʻo ʻo Chen Weiliang e kiʻi i nā mea hou loa!

🔔 E lilo i mea mua e kiʻi i ka waiwai nui "ChatGPT Content Marketing AI Tool Usage Guide" ma ka papa kuhikuhi kiʻekiʻe. 🌟
📚 He waiwai nui kēia alakaʻi, 🌟He manawa kakaikahi kēia, mai poina! ⏰⌛💨
Kaʻana like a like inā makemake ʻoe!
ʻO kāu kaʻana like a me kou makemake ʻo kā mākou hoʻoikaika mau!

 

评论

ʻAʻole e paʻi ʻia kāu leka uila. Hoʻohana ʻia nā kahua koi * Label

ʻōwili i luna