ایموجی کو مائی ایس کیو ایل میں کیسے محفوظ کیا جائے ڈیٹا بیس ایموجی ایکسپریشن سوالیہ نشان کیریکٹر کا مسئلہ

اگر ایموجی ایکسپریشنز utf8 انکوڈنگ میں محفوظ ہیں۔MySQL ڈیٹا بیسیا ماریا ڈی بی، اسے ڈسپلے نہیں کیا جا سکتا۔

ڈیٹا بیس میں داخل ہونے والا ایموجی اظہار سوالیہ نشان کا کردار کیوں بن جاتا ہے؟

چونکہ ایموجی ایکسپریشنز 4 بائٹ کریکٹرز ہیں، اور utf8 کریکٹر سیٹ صرف 1-3 بائٹس حروف کو سپورٹ کرتا ہے، اس لیے Emoji ایکسپریشنز کو ڈیٹا بیس میں نہیں لکھا جا سکتا۔

اس مسئلے کو کیسے حل کیا جائے کہ ڈیٹا بیس میں داخل ہونے والا ایموجی اظہار سوالیہ نشان کا کردار بن جائے؟

2 حل ہیں:

  1. چار بائٹ حروف کو حسب ضرورت حروف سے بدل کر دستی طور پر متن درج کریں۔
  2. ترمیم کریں MySQL ڈیٹا بیس کیریکٹر سیٹ، ڈیٹا بیس کریکٹر سیٹ کو utf8 سے utf8mb4 میں تبدیل کریں، 1-4 بائٹ کریکٹرز کو سپورٹ کریں۔

اصل میں، پہلا طریقہ بہت زیادہ کام ہے اور مشورہ نہیں ہے.

دوسرا حل استعمال کرنے کی سفارش کی جاتی ہے، MySQL ڈیٹابیس کریکٹر سیٹ میں ترمیم کریں۔

MySQL 5.5.3 ورژن سے شروع کرتے ہوئے، ڈیٹا بیس 4 بائٹس کے utf8mb4 کریکٹر سیٹ کو سپورٹ کر سکتا ہے، اور ایک کریکٹر میں 4 بائٹس تک ہو سکتا ہے، اس لیے یہ مزید کریکٹر سیٹ کو سپورٹ کر سکتا ہے، اور Emoji ایکسپریشنز کو بھی اسٹور کر سکتا ہے۔

  • MySQL 5.5.3 کے بعد، آپ بنیادی طور پر بغیر کسی رکاوٹ کے utf8mb4 کریکٹر سیٹ میں اپ گریڈ کر سکتے ہیں۔
  • ایک ہی وقت میں، utf8mb4 utf8 کریکٹر سیٹ کے ساتھ مطابقت رکھتا ہے۔
  • utf8 حروف کی انکوڈنگ، پوزیشن اور اسٹوریج utf8mb4 میں ہیں۔
  • utf8 کریکٹر سیٹ کی طرح، موجودہ ڈیٹا کو کوئی نقصان نہیں۔

کیوجہ سےphpMyAdmin کےایک نئے بنائے گئے ڈیٹا بیس میں نئے بنائے گئے ٹیبلز کے لیے، ڈیفالٹ کریکٹر انکوڈنگ یہ ہے:Latin1

  • یہ انکوڈنگ چینی اور ایموجی تاثرات داخل نہیں کر سکتی۔
  • آپ کو ڈیٹا بیس کیریکٹر سیٹ اور ٹیبل کی کریکٹر سیٹ انکوڈنگ کو utf8mb4 میں تبدیل کرنے کی ضرورت ہے۔
  • پھر، MySQL کو دوبارہ شروع کریں، آپ چینی اور ایموجی اظہارات داخل کر سکتے ہیں۔

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;

موجودہ ڈیٹا بیس کوڈ ▼ دیکھیں

SHOW VARIABLES LIKE 'character_set_%';
  • mysql-connector-java ڈرائیور پیکیج صرف 5.1.13+ میں utf8mb4 کو سپورٹ کرتا ہے۔

ہوپ چن ویلیانگ بلاگ ( https://www.chenweiliang.com/ ) کا اشتراک کیا گیا "ایموجی کو MySQL میں کیسے محفوظ کیا جائے؟ ڈیٹابیس ایموجی ایکسپریشن سوالیہ نشان کیریکٹر کا مسئلہ درج کریں"، جو آپ کے لیے مددگار ہے۔

اس مضمون کا لنک شیئر کرنے میں خوش آمدید:https://www.chenweiliang.com/cwl-26592.html

مزید پوشیدہ چالوں کو کھولنے کے لیے، ہمارے ٹیلیگرام چینل میں شامل ہونے میں خوش آمدید!

پسند آئے تو شیئر اور لائک کریں! آپ کے شیئرز اور لائکس ہماری مسلسل حوصلہ افزائی ہیں!

 

评论 评论

آپ کا ای میل پتہ شائع نہیں کیا جائے گا۔ ضروری شعبوں کا استعمال کیا جاتا ہے * لیبل لگائیں

میں سکرال اوپر