የአንቀጽ ማውጫ
የኢሞጂ አገላለጽ በ utf8 ኢንኮዲንግ ውስጥ ከተከማቸMySQL የውሂብ ጎታወይም MariaDB, ሊታይ አይችልም.
ለምንድነው ወደ ዳታቤዝ የገባው የኢሞጂ አገላለጽ የጥያቄ ምልክት ቁምፊ የሚሆነው?
የኢሞጂ አገላለጾች ባለ 4-ባይት ቁምፊዎች በመሆናቸው እና የ utf8 ቁምፊ ስብስብ ከ1-3 ባይት ቁምፊዎችን ብቻ ስለሚደግፍ የኢሞጂ መግለጫዎች በመረጃ ቋቱ ውስጥ ሊጻፉ አይችሉም።
የኢሞጂ አገላለጽ ወደ ዳታቤዝ ውስጥ የገባውን ችግር እንዴት መፍታት ይቻላል የጥያቄ ምልክት ቁምፊ?
2 መፍትሄዎች አሉ:
- አራት ባይት ቁምፊዎችን በብጁ ቁምፊዎች በመተካት ጽሑፍን በእጅ ያስገቡ።
- ለውጥ MySQL የውሂብ ጎታ ቁምፊ ስብስብ፣ የውሂብ ጎታውን ቁምፊ ከ utf8 ወደ utf8mb4 ቀይር፣ 1-4 ባይት ቁምፊዎችን ይደግፉ።
እንደ እውነቱ ከሆነ, የመጀመሪያው ዘዴ በጣም ብዙ ስራ ነው እና አይመከርም.
ሁለተኛውን መፍትሄ ለመጠቀም ይመከራል, የ MySQL የውሂብ ጎታ ቁምፊ ስብስብን ያሻሽሉ.
ከ MySQL 5.5.3 ስሪት ጀምሮ የውሂብ ጎታው የ 4 ባይት የ utf8mb4 ቁምፊ ስብስብን ይደግፋል እና አንድ ቁምፊ እስከ 4 ባይት ሊኖረው ይችላል, ስለዚህም ተጨማሪ የቁምፊ ስብስቦችን ይደግፋል እንዲሁም የኢሞጂ መግለጫዎችንም ማከማቸት ይችላል.
- ከ MySQL 5.5.3 በኋላ፣ ያለምንም ችግር ወደ utf8mb4 ቁምፊ ስብስብ ማሻሻል ይችላሉ።
- በተመሳሳይ ጊዜ utf8mb4 ከ utf8 ቁምፊ ስብስብ ጋር ተኳሃኝ ነው።
- የ utf8 ቁምፊዎች ኢንኮዲንግ፣ አቀማመጥ እና ማከማቻ በ utf8mb4 ውስጥ ናቸው።
- ልክ እንደ utf8 ቁምፊ ስብስብ፣ በነባሩ ውሂብ ላይ ምንም ጉዳት የለም።
በ ... ምክንያትphpMyAdminበአዲስ በተፈጠረው የውሂብ ጎታ ውስጥ አዲስ ለተፈጠሩ ሠንጠረዦች፣ ነባሪው የቁምፊ ኢንኮዲንግ ነው፡-Latin1
- ይህ ኢንኮዲንግ የቻይንኛ እና የኢሞጂ መግለጫዎችን ማስገባት አይችልም፤
- የውሂብ ጎታውን ቁምፊ ስብስብ እና ሰንጠረዡን የቁምፊ ስብስብ ኢንኮዲንግ ወደ utf8mb4 መቀየር አለብዎት;
- ከዚያ MySQL ን እንደገና ያስጀምሩ፣ የቻይንኛ እና የኢሞጂ መግለጫዎችን ማስገባት ይችላሉ።
MySQL ኢሞጂ ቁምፊ ችግር መፍትሔ
ደረጃ 1የ MySQL ውቅር ፋይልን my.cnf ቀይር
- (የዊንዶው አገልጋይ my.ini ነው ፣ሊኑክስአገልጋዩ 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'
ደረጃ 2MySQL የውሂብ ጎታውን እንደገና ያስጀምሩ
service mysqld restart
ደረጃ 3፡ የቁምፊውን ስብስብ እንደገና ይፈትሹ እና በ SQL ትዕዛዝ መስመር ውስጥ ▼ ያስገቡ
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_database';
የሚከተለው ▼ ካለ ያረጋግጡ
የሚከተለውን የ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;
ደረጃ 3MySQL የውሂብ ጎታውን እንደገና ያስጀምሩ
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+ ውስጥ ብቻ ነው የሚደግፈው።
ተስፋ Chen Weiliang ብሎግ ( https://www.chenweiliang.com/ ) የተጋራ "ኢሞጂ ወደ MySQL እንዴት እንደሚቀመጥ? የውሂብ ጎታውን ያስገቡ የኢሞጂ አገላለጽ የጥያቄ ምልክት ባህሪ ችግር" ፣ ይህም ለእርስዎ ጠቃሚ ነው።
እንኳን በደህና መጡ የዚህን ጽሁፍ ማገናኛ ለማጋራት፡-https://www.chenweiliang.com/cwl-26592.html
አዳዲስ መረጃዎችን ለማግኘት ወደ የቼን ዌይሊያንግ ብሎግ የቴሌግራም ቻናል እንኳን በደህና መጡ።
📚 ይህ መመሪያ ትልቅ ዋጋ አለው፣ 🌟ይህ ያልተለመደ እድል ነው፣ እንዳያመልጥዎ! ⏰⌛💨
ከወደዳችሁት ሼር እና ላይክ አድርጉ!
የእርስዎ ማጋራት እና መውደዶች ቀጣይ ማበረታቻዎቻችን ናቸው!