ಲೇಖನ ಡೈರೆಕ್ಟರಿ
ಎಮೋಜಿ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು 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 ಅಕ್ಷರ ಸೆಟ್ನಂತೆಯೇ, ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಡೇಟಾಗೆ ಯಾವುದೇ ಹಾನಿ ಇಲ್ಲ.
ಈ ಕಾರಣದಿಂದಾಗಿಸರಹದ್ದುಹೊಸದಾಗಿ ರಚಿಸಲಾದ ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ಹೊಸದಾಗಿ ರಚಿಸಲಾದ ಕೋಷ್ಟಕಗಳಿಗಾಗಿ, ಡೀಫಾಲ್ಟ್ ಅಕ್ಷರ ಎನ್ಕೋಡಿಂಗ್:Latin1
- ಈ ಎನ್ಕೋಡಿಂಗ್ ಚೈನೀಸ್ ಮತ್ತು ಎಮೋಜಿ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ;
- ನೀವು ಡೇಟಾಬೇಸ್ ಅಕ್ಷರ ಸೆಟ್ ಮತ್ತು ಟೇಬಲ್ನ ಅಕ್ಷರ ಸೆಟ್ ಎನ್ಕೋಡಿಂಗ್ ಅನ್ನು utf8mb4 ಗೆ ಬದಲಾಯಿಸಬೇಕಾಗಿದೆ;
- ನಂತರ, MySQL ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ, ನೀವು ಚೈನೀಸ್ ಮತ್ತು ಎಮೋಜಿ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಸೇರಿಸಬಹುದು.
MySQL ಎಮೋಜಿ ಅಕ್ಷರ ಸಮಸ್ಯೆ ಪರಿಹಾರ
ಹಂತ 1:MySQL ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ my.cnf ಅನ್ನು ಮಾರ್ಪಡಿಸಿ
- (Windows ಸರ್ವರ್ 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';
ಕೆಳಗಿನ ▼ ವೇಳೆ ಪರಿಶೀಲಿಸಿ

ಕೆಳಗಿನ 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/ ) ಹಂಚಿಕೊಂಡಿದ್ದಾರೆ "ಎಮೋಜಿಯನ್ನು MySQL ಗೆ ಹೇಗೆ ಉಳಿಸುವುದು? ಡೇಟಾಬೇಸ್ ಎಮೋಜಿ ಅಭಿವ್ಯಕ್ತಿ ಪ್ರಶ್ನೆ ಗುರುತು ಅಕ್ಷರದ ಸಮಸ್ಯೆಯನ್ನು ನಮೂದಿಸಿ", ಇದು ನಿಮಗೆ ಸಹಾಯಕವಾಗಿದೆ.
ಈ ಲೇಖನದ ಲಿಂಕ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಸ್ವಾಗತ:https://www.chenweiliang.com/cwl-26592.html
ಇನ್ನಷ್ಟು ಗುಪ್ತ ತಂತ್ರಗಳನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಲು 🔑, ನಮ್ಮ ಟೆಲಿಗ್ರಾಮ್ ಚಾನಲ್ಗೆ ಸೇರಲು ಸ್ವಾಗತ!
ಇಷ್ಟವಾದಲ್ಲಿ ಶೇರ್ ಮಾಡಿ ಮತ್ತು ಲೈಕ್ ಮಾಡಿ! ನಿಮ್ಮ ಹಂಚಿಕೆಗಳು ಮತ್ತು ಇಷ್ಟಗಳು ನಮ್ಮ ನಿರಂತರ ಪ್ರೇರಣೆ!