Directory artaigil
- 1 Carson a tha an abairt Emoji a chaidh a chuir a-steach don stòr-dàta gu bhith na charactar comharra ceist?
- 2 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?
- 3 Fuasgladh duilgheadas caractar MySQL Emoji
- 4 Mar a dh’ atharraicheas tu caractar an stòr-dàta gu utf8mb4?
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:
- Cuir a-steach teacsa le làimh, an àite caractaran ceithir-byte le caractaran àbhaisteach.
- 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.cnf
suidheachadh. - Pannal Smachd CWPTha am faidhle my.cnf, a-staigh
/etc/my.cnf
suidheachadh.
À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 ▼
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!
📚 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!