MySQL இல் ஈமோஜியைச் சேமிப்பது எப்படி? தரவுத்தள ஈமோஜி வெளிப்பாடு கேள்விக்குறி எழுத்துச் சிக்கலை உள்ளிடவும்

ஈமோஜி வெளிப்பாடு utf8 குறியாக்கத்தில் சேமிக்கப்பட்டால்MySQL தரவுத்தளம்அல்லது MariaDB, அதைக் காட்ட முடியாது.

தரவுத்தளத்தில் உள்ளிடப்பட்ட ஈமோஜி வெளிப்பாடு ஏன் ஒரு கேள்விக்குறி எழுத்தாக மாறுகிறது?

ஈமோஜி வெளிப்பாடுகள் 4-பைட் எழுத்துக்கள் மற்றும் utf8 எழுத்துக்குறி தொகுப்பு 1-3 பைட் எழுத்துகளை மட்டுமே ஆதரிக்கும் என்பதால், ஈமோஜி வெளிப்பாடுகளை தரவுத்தளத்தில் எழுத முடியாது.

தரவுத்தளத்தில் உள்ள ஈமோஜி வெளிப்பாடு ஒரு கேள்விக்குறி எழுத்தாக மாறும் சிக்கலை எவ்வாறு தீர்ப்பது?

2 தீர்வுகள் உள்ளன:

  1. கைமுறையாக உரையை உள்ளிடவும், நான்கு பைட் எழுத்துக்களை தனிப்பயன் எழுத்துகளுடன் மாற்றவும்.
  2. மாற்றவும் MySQL, தரவுத்தள எழுத்துத் தொகுப்பு, தரவுத்தள எழுத்துத் தொகுப்பை utf8 இலிருந்து utf8mb4க்கு மாற்றவும், 1-4 பைட் எழுத்துகளை ஆதரிக்கவும்.

உண்மையில், முதல் முறை அதிக வேலை மற்றும் அறிவுறுத்தப்படவில்லை.

இரண்டாவது தீர்வைப் பயன்படுத்த பரிந்துரைக்கப்படுகிறது, MySQL தரவுத்தள எழுத்துத் தொகுப்பை மாற்றவும்.

MySQL 5.5.3 பதிப்பிலிருந்து தொடங்கி, தரவுத்தளமானது utf4mb8 எழுத்துத் தொகுப்பான 4 பைட்டுகளை ஆதரிக்க முடியும், மேலும் ஒரு எழுத்து 4 பைட்டுகள் வரை இருக்கலாம், எனவே இது அதிக எழுத்துத் தொகுப்புகளை ஆதரிக்க முடியும், மேலும் ஈமோஜி வெளிப்பாடுகளையும் சேமிக்க முடியும்.

  • MySQL 5.5.3க்குப் பிறகு, நீங்கள் utf8mb4 எழுத்துத் தொகுப்பிற்கு தடையின்றி மேம்படுத்தலாம்.
  • அதே நேரத்தில், utf8mb4 ஆனது utf8 எழுத்துக்குறி தொகுப்புடன் இணக்கமானது.
  • utf8 எழுத்துகளின் குறியாக்கம், நிலை மற்றும் சேமிப்பு ஆகியவை utf8mb4 இல் உள்ளன.
  • utf8 எழுத்துக்குறி தொகுப்பைப் போலவே, ஏற்கனவே உள்ள தரவுகளுக்கு எந்த சேதமும் இல்லை.

காரணமாகஉதாரணமாக,புதிதாக உருவாக்கப்பட்ட தரவுத்தளத்தில் புதிதாக உருவாக்கப்பட்ட அட்டவணைகளுக்கு, இயல்புநிலை எழுத்துக்குறி குறியாக்கம்:Latin1

  • இந்த குறியாக்கம் சீன மற்றும் ஈமோஜி வெளிப்பாடுகளை செருக முடியாது;
  • தரவுத்தள எழுத்துத் தொகுப்பு மற்றும் அட்டவணையின் எழுத்துக்குறி தொகுப்பு குறியாக்கத்தை utf8mb4 க்கு மாற்ற வேண்டும்;
  • பின்னர், MySQL ஐ மறுதொடக்கம் செய்யுங்கள், நீங்கள் சீன மற்றும் ஈமோஜி வெளிப்பாடுகளைச் செருகலாம்.

MySQL ஈமோஜி எழுத்து சிக்கல் தீர்வு

சுமார் 1 வது:MySQL உள்ளமைவு கோப்பை 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/ ) பகிரப்பட்டது "எமோஜியை MySQL இல் எவ்வாறு சேமிப்பது? தரவுத்தள ஈமோஜி வெளிப்பாடு கேள்விக்குறி எழுத்துப் பிரச்சனையை உள்ளிடவும்", இது உங்களுக்கு உதவியாக இருக்கும்.

இந்தக் கட்டுரையின் இணைப்பைப் பகிர வரவேற்கிறோம்:https://www.chenweiliang.com/cwl-26592.html

சமீபத்திய புதுப்பிப்புகளைப் பெற, சென் வெலியாங்கின் வலைப்பதிவின் டெலிகிராம் சேனலுக்கு வரவேற்கிறோம்!

🔔 சேனல் டாப் டைரக்டரியில் மதிப்புமிக்க "ChatGPT Content Marketing AI கருவி பயன்பாட்டு வழிகாட்டியை" பெறுவதில் முதல் நபராக இருங்கள்! 🌟
📚 இந்த வழிகாட்டியில் பெரும் மதிப்பு உள்ளது, 🌟இது ஒரு அரிய வாய்ப்பு, தவறவிடாதீர்கள்! ⏰⌛💨
பிடித்திருந்தால் ஷேர் செய்து லைக் செய்யுங்கள்!
உங்களின் பகிர்வும் விருப்பங்களும் எங்களின் தொடர்ச்சியான ஊக்கம்!

 

发表 评论

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்படாது. தேவையான புலங்கள் பயன்படுத்தப்படுகின்றன * லேபிள்

மேலே உருட்டவும்