MySQL मध्ये इमोजी कसे जतन करावे? डेटाबेस इमोजी अभिव्यक्ती प्रश्न चिन्ह वर्ण समस्या प्रविष्ट करा

इमोजी अभिव्यक्ती utf8 एन्कोडिंगमध्ये संग्रहित असल्यासMySQL डेटाबेसकिंवा MariaDB, ते प्रदर्शित केले जाऊ शकत नाही.

डेटाबेसमध्ये प्रविष्ट केलेले इमोजी अभिव्यक्ती प्रश्नचिन्ह वर्ण का बनते?

कारण इमोजी अभिव्यक्ती 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 步:MySQL कॉन्फिगरेशन फाइल my.cnf मध्ये बदल करा

  • (विंडोज सर्व्हर my.ini आहे,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 ड्राइव्हर पॅकेज केवळ 5.1.13+ मध्ये utf8mb4 ला समर्थन देते

होप चेन वेइलांग ब्लॉग ( https://www.chenweiliang.com/ ) सामायिक केले "मायएसक्यूएलमध्ये इमोजी कसे जतन करावे? डेटाबेस इमोजी अभिव्यक्ती प्रश्न चिन्ह अक्षर समस्या प्रविष्ट करा", जे तुमच्यासाठी उपयुक्त आहे.

या लेखाची लिंक सामायिक करण्यासाठी आपले स्वागत आहे:https://www.chenweiliang.com/cwl-26592.html

अधिक लपलेल्या युक्त्या उघड करण्यासाठी🔑, आमच्या टेलिग्राम चॅनेलमध्ये सामील होण्यासाठी स्वागत आहे!

आवडल्यास शेअर आणि लाईक करा! तुमचे शेअर्स आणि लाईक्स ही आमची सतत प्रेरणा आहेत!

 

评论 评论

तुमचा ईमेल पत्ता प्रकाशित केला जाणार नाही. 用 项 已 用 * लेबल

Top स्क्रोल करा