Како да зачувате емотикони во MySQL Внесете ја базата на податоци Проблем со знак прашалник со израз на емоџи

Ако изразите на емоџи се зачувани во utf8 кодирањеMySQL база на податоциили MariaDB, не може да се прикаже.

Зошто изразот Емоџи внесен во базата на податоци се претвора во знак прашалник?

Бидејќи изразите на емоџи се знаци од 4 бајти, а множеството знаци utf8 поддржува само знаци од 1-3 бајти, изразите на емоџи не може да се запишат во базата на податоци.

Како да се реши проблемот што изразите на емоџи се претворија во знаци на прашалник при внесување во базата на податоци?

Постојат 2 решенија:

  1. Внесете текст рачно, заменувајќи ги знаците од четири бајти со прилагодени знаци.
  2. измени MySQL, Збир на знаци на база на податоци, сменете го множеството знаци на базата на податоци од utf8 во utf8mb4, поддржувајќи знаци од 1-4 бајти.

Всушност, првиот метод бара премногу работа и не е препорачлив.

Се препорачува да се користи второто решение за да се измени множеството знаци на базата на податоци MySQL.

Почнувајќи од верзијата 5.5.3 на MySQL, базата на податоци може да поддржува множество на знаци од 4 бајти utf8mb4, а знакот може да има до 4 бајти, така што може да поддржува повеќе групи на знаци и да складира изрази на Емоџи.

  • По MySQL 5.5.3, во основа може беспрекорно да се надгради до множеството знаци utf8mb4.
  • Во исто време, utf8mb4 е компатибилен со множеството знаци utf8.
  • Кодирањето, позицијата и складирањето на utf8 знаците се во utf8mb4.
  • Истиот знак е поставен како utf8 и нема да предизвика оштетување на постоечките податоци.

Бидејќи воphpMyAdminЗа новосоздадените табели во новосоздадените бази на податоци, стандардното кодирање на знаци е:Latin1

  • Ова кодирање не може да вметнува кинески и емоџи изрази;
  • Неопходно е да се сменат множеството знаци на базата на податоци и кодирањето на множеството знаци на табелата во utf8mb4;
  • Потоа, рестартирајте го MySQL и можете да вметнете кинески и емоџи изрази.

Решение за проблемот со знаците на MySQL Emoji

第 1 步:Изменете ја конфигурациската датотека MySQL my.cnf

  • (my.ini за Windows сервери,LinuxСерверот е my.cnf)
  • my.cnf датотека, обично во/etc/mysql/my.cnfЛокација.
  • CWP контролен панелДатотеката my.cnf е во/etc/my.cnfЛокација.

Откако ќе го најдете, ве молиме додајте ја следнава содржина во следните три дела ▼

[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 步:Рестартирајте ја базата на податоци MySQL

service mysqld restart

Чекор 3: Повторно проверете го множеството знаци и внесете ▼ во командната линија SQL

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_database';

Проверете дали е како што следува ▼

Како да зачувате емотикони во MySQL Внесете ја базата на податоци Проблем со знак прашалник со израз на емоџи

Внесете ја следнава команда SQL ▼

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

Проверете дали е како што следува ▼

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

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

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

Откако ќе креирате нова база на податоци во phpMyAdmin, мораПогледнете го кодирањето на базата на податоци ▼

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

Ако кодирањето на базата на податоци не еutf8mb4, множеството знаци на базата на податоци мора да се измени воutf8mb4 .

Како да се измени карактерот на базата на податоци на utf8mb4?

Чекор 1: Кликнете на тековното име на базата на податоци во phpMyAdmin, потоа кликнете на SQL.

Чекор 2: Внесете ја следнава команда за да го измените карактерот на базата на податоци поставен наutf8mb4

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

第 3 步:Рестартирајте ја базата на податоци MySQL

service mysqld restart
  • Тоа е тоа.

Еве неколку примери на команди SQL:

Променете го стандардниот сет на знаци и сите колони со знаци од табелата во новото множество знаци ▼

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;

Ако го измените само стандардниот сет на знаци на табелата ▼

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

Изменете го множеството знаци на поле ▼

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;

Погледнете го кодот на табелата ▼

SHOW CREATE TABLE tbl_name;

Погледнете го кодирањето на полето ▼

SHOW FULL COLUMNS FROM tbl_name;

Погледнете го кодирањето на тековната база на податоци ▼

SHOW VARIABLES LIKE 'character_set_%';
  • Пакетот за драјвери mysql-connector-java поддржува само utf5.1.13mb8 во 4+

Блог на Hope Chen Weiliang ( https://www.chenweiliang.com/ ) сподели „Како да складирате емотикони во MySQL? Проблем со внесување знаци прашалник за емоџи во базата на податоци“, што ќе ви биде корисно.

Добредојдовте да ја споделите врската од оваа статија:https://www.chenweiliang.com/cwl-26592.html

За да отклучите повеќе скриени трикови🔑, добредојдени сте да се придружите на нашиот Телеграм канал!

Споделете и лајкнете ако ви се допаѓа! Вашите споделувања и лајкови се наша постојана мотивација!

 

评论

Вашата адреса за е-пошта нема да биде објавена. Се користат задолжителните полиња * Етикета

Дојдете до врв