شرح صفوف ومحتوى الفقرة
في إصداري MySQL 8.0 و 8.4 LTS، يُعد utf8mb4 الترميز الافتراضي للخادم وتُعد utf8mb4_0900_ai_ci قاعدة المقارنة الافتراضية، ومن المهم التفرقة بين دالتي قياس النصوص:
- الدالة
CHAR_LENGTH(str): تحسب عدد الأحرف المنطقية في النص بغض النظر عن عدد البايتات. - الدالة
LENGTH(str): تحسب الحجم الفعلي بالبايتات الذي يشغله النص (فالكلمة العربية المكونة من 5 أحرف تعطي 5 فيCHAR_LENGTHوتعطي 10 بايتات فيLENGTH).
SQL
-- Compare character count vs byte length in utf8mb4
SELECT
CHAR_LENGTH('CloseTag') AS ascii_chars,
LENGTH('CloseTag') AS ascii_bytes,
CHARSET('CloseTag') AS active_charset;