ווי צו ראַטעווען עמאָדזשי אין מיסקל? אַרייַן די דאַטאַבייס עמאָדזשי אויסדרוק קשיא צייכן כאַראַקטער פּראָבלעם

אויב די Emoji אויסדרוק איז סטאָרד אין utf8 קאָדירונגMySQL דאַטאַבייסאָדער MariaDB, עס קענען ניט זיין געוויזן.

פארוואס איז דער עמאָדזשי אויסדרוק אריין אין די דאַטאַבייס ווערן אַ קשיא צייכן כאַראַקטער?

ווייַל עמאָדזשי אויסדרוקן זענען 4-ביטע אותיות, און די utf8 כאַראַקטער גאַנג שטיצט בלויז 1-3 ביטעס פון אותיות, עמאָדזשי אויסדרוקן קענען ניט זיין געשריבן אין די דאַטאַבייס.

ווי צו סאָלווע די פּראָבלעם אַז די Emoji אויסדרוק אריין אין די דאַטאַבייס ווערט אַ קשיא צייכן כאַראַקטער?

עס זענען 2 סאַלושאַנז:

  1. אַרייַן טעקסט מאַניואַלי, ריפּלייסינג פיר-ביטע אותיות מיט מנהג אותיות.
  2. מאָדיפיצירן מיסקל דאַטאַבאַסע כאַראַקטער שטעלן, טוישן די דאַטאַבייס כאַראַקטער שטעלן פון utf8 צו utf8mb4, שטיצן 1-4 בייט אותיות.

אין פאַקט, דער ערשטער אופֿן איז צו פיל אַרבעט און איז נישט קעדייַיק.

עס איז רעקאַמענדיד צו נוצן די רגע לייזונג, מאָדיפיצירן די MySQL דאַטאַבייס כאַראַקטער שטעלן.

סטאַרטינג פון MySQL 5.5.3 ווערסיע, די דאַטאַבייס קענען שטיצן די utf4mb8 כאַראַקטער גאַנג פון 4 ביטעס, און אַ כאַראַקטער קענען האָבן אַרויף צו 4 ביטעס, אַזוי עס קענען שטיצן מער כאַראַקטער שטעלט, און אויך קענען קראָם Emoji אויסדרוקן.

  • נאָך MySQL 5.5.3, איר קענען בייסיקלי סימלאַסלי אַפּגרייד צו די utf8mb4 כאַראַקטער שטעלן.
  • אין דער זעלביקער צייט, utf8mb4 איז קאַמפּאַטאַבאַל מיט די utf8 כאַראַקטער שטעלן.
  • די קאָדירונג, שטעלע און סטאָרידזש פון utf8 אותיות זענען אין utf8mb4.
  • דער זעלביקער ווי utf8 כאַראַקטער שטעלן, קיין שעדיקן צו יגזיסטינג דאַטן.

צוליב דעם וואספפּמיאַדמיןפֿאַר ניי באשאפן טישן אין אַ ניי באשאפן דאַטאַבייס, די פעליקייַט כאַראַקטער קאָדירונג איז:Latin1

  • דעם קאָדירונג קען נישט אַרייַנלייגן כינעזיש און עמאָדזשי אויסדרוקן;
  • איר דאַרפֿן צו טוישן די כאַראַקטער גאַנג קאָדירונג פון די דאַטאַבייס כאַראַקטער שטעלן און טיש צו utf8mb4;
  • דערנאָך, ריסטאַרט MySQL, איר קענען אַרייַנלייגן כינעזיש און Emoji אויסדרוקן.

מיסקל עמאָדזשי כאַראַקטער פּראָבלעם לייזונג

第 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'

第 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;

View קראַנט דאַטאַבייס קאָד ▼

SHOW VARIABLES LIKE 'character_set_%';
  • די mysql-connector-java דרייווער פּעקל שטיצט בלויז utf5.1.13mb8 אין 4+

Hope Chen Weiliang בלאָג ( https://www.chenweiliang.com/ ) שערד "ווי צו ראַטעווען עמאָדזשי אין מיסקל? אַרייַן די דאַטאַבייס עמאָדזשי אויסדרוק קשיא צייכן כאַראַקטער פּראָבלעם", וואָס איז נוציק צו איר.

ברוכים הבאים צו טיילן דעם לינק פון דעם אַרטיקל:https://www.chenweiliang.com/cwl-26592.html

כּדי צו עפֿענען מער פֿאַרבאָרגענע טריקס🔑, ברוכים הבאים זיך אָנצושליסן אין אונדזער טעלעגראַם קאַנאַל!

ייַנטיילן און ווי אויב איר ווי! דיין שאַרעס און לייקס זענען אונדזער מאָוטאַוויישאַן!

 

发表 评论

דיין בליצפּאָסט אַדרעס וועט נישט זיין ארויס. פארלאנגט פעלדער זענען געניצט * פירמע

מעגילע צו Top