Πώς να αποθηκεύσετε το Emoji στο MySQL; Πληκτρολογήστε τη βάση δεδομένων Emoji με ερωτηματικό πρόβλημα χαρακτήρα

Εάν η έκφραση Emoji είναι αποθηκευμένη σε κωδικοποίηση utf8Βάση δεδομένων MySQLή MariaDB, δεν μπορεί να εμφανιστεί.

Γιατί η έκφραση Emoji που εισάγεται στη βάση δεδομένων γίνεται χαρακτήρας ερωτηματικού;

Επειδή οι εκφράσεις Emoji είναι χαρακτήρες 4 byte και το σύνολο χαρακτήρων utf8 υποστηρίζει μόνο 1-3 byte χαρακτήρων, οι εκφράσεις Emoji δεν μπορούν να εγγραφούν στη βάση δεδομένων.

Πώς να λύσετε το πρόβλημα ότι η έκφραση Emoji που εισάγεται στη βάση δεδομένων γίνεται χαρακτήρας ερωτηματικού;

Υπάρχουν 2 λύσεις:

  1. Εισαγάγετε κείμενο με μη αυτόματο τρόπο, αντικαθιστώντας χαρακτήρες τεσσάρων byte με προσαρμοσμένους χαρακτήρες.
  2. τροποποιώ MySQL Σύνολο χαρακτήρων βάσης δεδομένων, αλλαγή του συνόλου χαρακτήρων της βάσης δεδομένων από utf8 σε utf8mb4, υποστήριξη χαρακτήρων 1-4 byte.

Στην πραγματικότητα, η πρώτη μέθοδος είναι υπερβολική δουλειά και δεν ενδείκνυται.

Συνιστάται να χρησιμοποιήσετε τη δεύτερη λύση, να τροποποιήσετε το σύνολο χαρακτήρων της βάσης δεδομένων MySQL.

Ξεκινώντας από την έκδοση MySQL 5.5.3, η βάση δεδομένων μπορεί να υποστηρίξει το σύνολο χαρακτήρων utf4mb8 των 4 byte και ένας χαρακτήρας μπορεί να έχει έως και 4 byte, ώστε να υποστηρίζει περισσότερα σύνολα χαρακτήρων και επίσης να αποθηκεύει εκφράσεις Emoji.

  • Μετά την MySQL 5.5.3, μπορείτε βασικά να αναβαθμίσετε απρόσκοπτα στο σύνολο χαρακτήρων utf8mb4.
  • Ταυτόχρονα, το utf8mb4 είναι συμβατό με το σύνολο χαρακτήρων utf8.
  • Η κωδικοποίηση, η θέση και η αποθήκευση των χαρακτήρων utf8 είναι σε utf8mb4.
  • Ίδιο με το σύνολο χαρακτήρων utf8, χωρίς ζημιά στα υπάρχοντα δεδομένα.

ΕξαιτίαςphpMyAdminΓια πίνακες που δημιουργήθηκαν πρόσφατα σε μια βάση δεδομένων που δημιουργήθηκε πρόσφατα, η προεπιλεγμένη κωδικοποίηση χαρακτήρων είναι:Latin1

  • Αυτή η κωδικοποίηση δεν μπορεί να εισαγάγει εκφράσεις κινεζικών και emoji.
  • Πρέπει να αλλάξετε την κωδικοποίηση συνόλου χαρακτήρων του συνόλου χαρακτήρων και του πίνακα της βάσης δεδομένων σε utf8mb4.
  • Στη συνέχεια, επανεκκινήστε τη MySQL, μπορείτε να εισαγάγετε εκφράσεις κινεζικών και emoji.

Λύση προβλήματος χαρακτήρων MySQL Emoji

第 1 步:Τροποποιήστε το αρχείο διαμόρφωσης MySQL my.cnf

  • (Ο διακομιστής Windows είναι ο 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';

Ελέγξτε εάν τα ακόλουθα ▼

Πώς να αποθηκεύσετε το Emoji στο MySQL; Πληκτρολογήστε τη βάση δεδομένων Emoji με ερωτηματικό πρόβλημα χαρακτήρα

Εισαγάγετε την ακόλουθη εντολή 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/ ) κοινοποίησε το "Πώς να αποθηκεύσω το Emoji στο MySQL; Εισαγάγετε τη βάση δεδομένων Πρόβλημα χαρακτήρων ερωτηματικού έκφρασης Emoji", το οποίο είναι χρήσιμο για εσάς.

Καλώς ήρθατε να μοιραστείτε τον σύνδεσμο αυτού του άρθρου:https://www.chenweiliang.com/cwl-26592.html

Καλώς ήρθατε στο κανάλι Telegram του ιστολογίου του Chen Weiliang για να λαμβάνετε τις τελευταίες ενημερώσεις!

🔔 Γίνετε ο πρώτος που θα αποκτήσει τον πολύτιμο "Οδηγό χρήσης εργαλείου τεχνητής νοημοσύνης μάρκετινγκ περιεχομένου ChatGPT" στον κορυφαίο κατάλογο του καναλιού! 🌟
📚 Αυτός ο οδηγός περιέχει τεράστια αξία, 🌟Αυτή είναι μια σπάνια ευκαιρία, μην τη χάσετε! ⏰⌛💨
Κοινοποιήστε και κάντε like αν σας αρέσει!
Η κοινή χρήση και τα like σας είναι το συνεχές μας κίνητρο!

 

发表 评论

Η διεύθυνση email σας δεν θα δημοσιευθεί. 必填 项 已 用 * 标注

κύλιση στην κορυφή