ስሜት ገላጭ ምስል ወደ MySQL እንዴት እንደሚቀመጥ? የውሂብ ጎታውን የኢሞጂ አገላለጽ የጥያቄ ምልክት ቁምፊ ችግር ያስገቡ

ኢሞጂዎች በ MySQL ዳታቤዝ ወይም በማሪያ ዲቤዝ በUTF-8 ኢንኮዲንግ ውስጥ ከተከማቹ አይታዩም።

ለምንድነው ወደ ዳታቤዝ የገባው የኢሞጂ አገላለጽ የጥያቄ ምልክት ቁምፊ የሚሆነው?

የኢሞጂ አገላለጾች ባለ 4-ባይት ቁምፊዎች በመሆናቸው እና የ utf8 ቁምፊ ስብስብ ከ1-3 ባይት ቁምፊዎችን ብቻ ስለሚደግፍ የኢሞጂ መግለጫዎች በመረጃ ቋቱ ውስጥ ሊጻፉ አይችሉም።

የኢሞጂ አገላለጽ ወደ ዳታቤዝ ውስጥ የገባውን ችግር እንዴት መፍታት ይቻላል የጥያቄ ምልክት ቁምፊ?

2 መፍትሄዎች አሉ:

  1. አራት ባይት ቁምፊዎችን በብጁ ቁምፊዎች በመተካት ጽሑፍን በእጅ ያስገቡ።
  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 ፡ የmy.cnf MySQL ውቅር ፋይልን ያሻሽሉ

  • (የዊንዶው አገልጋይ 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'

ደረጃ 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+ ውስጥ ብቻ ነው የሚደግፈው።

በቼን ዌይሊያንግ ጦማር ( https://www.chenweiliang.com/ ) ላይ የተጋራው "ኢሞጂዎችን በMySQL ውስጥ እንዴት ማከማቸት ይቻላል? የኢሞጂ የጥያቄ ምልክት ቁምፊዎችን ወደ ዳታቤዝ ውስጥ በማስገባት ላይ ያሉ ችግሮች" የሚለው ጽሑፍ ለእርስዎ ጠቃሚ እንደሚሆን ተስፋ እናደርጋለን።

የዚህን ጽሑፍ ሊንክ ለማጋራት ነፃነት ይሰማዎ፦ https://www.chenweiliang.com/cwl-26592.html

ተጨማሪ ድብቅ ዘዴዎችን ለመክፈት የቴሌግራም ቻናላችንን እንኳን በደህና መጡ።

ከወደዳችሁት ሼር እና ላይክ አድርጉ! የእርስዎ ማጋራቶች እና መውደዶች የእኛ ቀጣይ ተነሳሽነት ናቸው!

 

评论ሺ评论评论评论 ፡፡

您的邮箱地址不会被公开。必填项已用*标注

ወደ ላይ ሸብልል