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

Creating a UTF8MB4 Database in PDO إنشاء قاعدة بيانات بترميز UTF8MB4

نفّذ أوامر بناء الهيكلة DDL بأمان في PHP 8 عبر PDO::exec لإنشاء قواعد البيانات وجداول UTF8MB4 والمفاتيح الأساسية والفهارس.
1 صفوف تعليمية
PHP
0 مشاهدة

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

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

عند إنشاء قاعدة بيانات MySQL أو MariaDB جديدة عبر PDO، اتصل بالخادم أولاً بدون تحديد dbname في نص DSN، ثم حدد الترميز CHARACTER SET utf8mb4.

  • ترميز MySQL القديم utf8 (أو utf8mb3) يدعم حتى 3 بايتات فقط للحرف ويفشل عند تخزين الرموز ذات الـ 4 بايتات.
  • استخدم دائماً CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci لضمان تخزين النصوص العربية والرموز التعبيرية بدقة كاملة.
  • بعد إنشاء قاعدة البيانات، انتقل إليها بالأمر $pdo->exec("USE app_db") أو أعد الاتصال مع تضمين dbname=app_db;charset=utf8mb4.

تحديد CHARACTER SET utf8mb4 مع المقارنة utf8mb4_unicode_ci يضمن دعم الترميز الرباعي والترتيب الأبجدي الصحيح.

PHP
<?php
$dbName = 'closetag_store';
$ddl = "CREATE DATABASE IF NOT EXISTS $dbName
        CHARACTER SET utf8mb4
        COLLATE utf8mb4_unicode_ci";
echo str_contains($ddl, 'utf8mb4_unicode_ci') ? "UTF8MB4 DDL Ready\n" : "Missing\n";