Hvernig á að vista Emoji í MySQL Sláðu inn gagnagrunninn Emoji tjáning spurningamerki staf vandamál

Ef Emoji tjáningin er geymd í utf8 kóðunMySQL gagnagrunnureða MariaDB, það er ekki hægt að sýna það.

Hvers vegna verður Emoji tjáningin sem færð er inn í gagnagrunninn að spurningamerki?

Vegna þess að Emoji tjáning eru 4-bæta stafir og utf8 stafasettið styður aðeins 1-3 bæti af stöfum, er ekki hægt að skrifa Emoji tjáningu inn í gagnagrunninn.

Hvernig á að leysa vandamálið að Emoji tjáningin sem færð er inn í gagnagrunninn verður að spurningarmerki?

Það eru 2 lausnir:

  1. Sláðu inn texta handvirkt og skiptu fjögurra bæta stöfum út fyrir sérsniðna stafi.
  2. breyta MySQL Stafasett gagnagrunns, breyttu stafasetti gagnagrunnsins úr utf8 í utf8mb4, styður 1-4 bæta stafi.

Reyndar er fyrsta aðferðin of mikil vinna og er ekki ráðleg.

Mælt er með því að nota seinni lausnina, breyta MySQL gagnagrunns stafasettinu.

Frá og með MySQL 5.5.3 útgáfu getur gagnagrunnurinn stutt útf4mb8 stafasettið sem er 4 bæti og stafur getur haft allt að 4 bæti, svo hann getur stutt fleiri stafasett og getur einnig geymt Emoji tjáningu.

  • Eftir MySQL 5.5.3 geturðu í grundvallaratriðum uppfært óaðfinnanlega í utf8mb4 stafasettið.
  • Á sama tíma er utf8mb4 samhæft við utf8 stafasettið.
  • Kóðun, staðsetning og geymsla útf8 stafa er í utf8mb4.
  • Sama og utf8 stafasett, engin skemmd á núverandi gögnum.

Vegna þess aðphpMyAdminFyrir nýstofnaðar töflur í nýstofnum gagnagrunni er sjálfgefin stafakóðun:Latin1

  • Þessi kóðun getur ekki sett inn kínverska og Emoji orðatiltæki;
  • Þú þarft að breyta kóðun stafasetts í stafasetti gagnagrunnsins og töflu í utf8mb4;
  • Síðan skaltu endurræsa MySQL, þú getur sett inn kínverska og Emoji tjáningu.

MySQL Emoji karakter vandamál lausn

Skref 1:Breyttu MySQL stillingarskránni my.cnf

  • (Windows netþjónn er my.ini,LinuxMiðlarinn er my.cnf)
  • my.cnf skrá, venjulega í/etc/mysql/my.cnfstaða.
  • CWP stjórnborðMy.cnf skráin er í/etc/my.cnfstaða.

Eftir að þú hefur fundið það skaltu bæta við eftirfarandi efni í eftirfarandi þremur hlutum ▼

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

Skref 2:Endurræstu MySQL gagnagrunninn

service mysqld restart

Skref 3: Athugaðu stafasettið aftur og sláðu inn ▼ í SQL skipanalínuna

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_database';

Athugaðu hvort eftirfarandi ▼

Hvernig á að vista Emoji í MySQL Sláðu inn gagnagrunninn Emoji tjáning spurningamerki staf vandamál

Sláðu inn eftirfarandi SQL skipun▼

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

Athugaðu hvort það sé sem hér segir▼

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

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

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

Eftir að hafa búið til nýjan gagnagrunn í phpMyAdmin verður þúSkoða gagnagrunnskóða ▼

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

Ef gagnagrunnskóðun er það ekkiutf8mb4, þú verður að breyta stafasetti gagnagrunnsins íutf8mb4 .

Hvernig á að breyta stafi gagnagrunnsins í utf8mb4?

Skref 1: Smelltu á núverandi nafn gagnagrunnsins í phpMyAdmin og smelltu síðan á SQL.

Skref 2: Sláðu inn eftirfarandi skipun til að breyta stafi gagnagrunnsins íutf8mb4

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

Skref 3:Endurræstu MySQL gagnagrunninn

service mysqld restart
  • Það er það.

Hér eru nokkur dæmi um SQL skipanir:

Breyttu sjálfgefna stafasettinu og öllum stafadálkum töflunnar í nýja stafasettið ▼

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;

Ef þú breytir aðeins sjálfgefna stafasettinu í töflunni▼

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

Breyttu stafasetti reits ▼

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;

Skoða töflukóða ▼

SHOW CREATE TABLE tbl_name;

Skoða reitkóða ▼

SHOW FULL COLUMNS FROM tbl_name;

Skoðaðu núverandi gagnagrunnskóða ▼

SHOW VARIABLES LIKE 'character_set_%';
  • Mysql-connector-java bílstjóri pakkinn styður aðeins utf5.1.13mb8 í 4+

Hope Chen Weiliang blogg ( https://www.chenweiliang.com/ ) deildi "Hvernig á að vista Emoji inn í MySQL? Sláðu inn gagnagrunninn Emoji tjáningu spurningamerki staf vandamál", sem er gagnlegt fyrir þig.

Velkomið að deila tengli þessarar greinar:https://www.chenweiliang.com/cwl-26592.html

Velkomin á Telegram rásina á bloggi Chen Weiliang til að fá nýjustu uppfærslurnar!

🔔 Vertu fyrstur til að fá dýrmæta „ChatGPT Content Marketing AI Notkunarleiðbeiningar“ í efstu möppu rásarinnar! 🌟
📚 Þessi handbók inniheldur mikið gildi, 🌟Þetta er sjaldgæft tækifæri, ekki missa af því! ⏰⌛💨
Deildu og likeðu ef þú vilt!
Deiling þín og líkar við eru stöðug hvatning okkar!

 

发表 评论

Netfangið þitt verður ekki birt. Nauðsynlegir reitir eru notaðir * Merkimiði

flettu efst