انتقل إلى محتوى الدرس

Why Legacy utf8mb3 Fails مشكلة ترميز utf8mb3 القديم

أتقن ترميز الأحرف والمقارنات النصية UTF8MB4 في MySQL 8 الحديث لدعم النصوص العربية واللغات العالمية والرموز التعبيرية بكفاءة.
1 صفوف تعليمية
MySQL
8 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

في الإصدارات القديمة من MySQL، كان الاسم utf8 يشير فعلياً إلى ترميز ناقص يسمى utf8mb3 يقبل 3 بايتات كحد أقصى للحرف الواحد:

  • الفشل مع الرموز ذات 4 بايتات: يحتاج معيار UTF-8 القياسي إلى 4 بايتات لتمثيل الرموز التعبيرية (Emojis) والرموز الإضافية؛ ولذلك يفشل utf8mb3 بالخطأ ERROR 1366: Incorrect string value فور إدخال أي رمز رباعي البايتات.
  • ترميز مهجور رسمياً: يصنف إصدار MySQL 8.4 ترميز utf8mb3 كترميز مهجور (Deprecated) ويعتمد utf8mb4 بديلاً قياسياً.
SQL
-- List all character sets and their maximum byte length (Maxlen)
SHOW CHARACTER SET;