اذهب إلى المحتوى

لوحة المتصدرين

  1. Entesar Khaled

    Entesar Khaled

    الأعضاء


    • نقاط

      1

    • المساهمات

      1516


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 12/26/18 in أجوبة

  1. أهلا بك، عندما تقوم بعرض بيانات مكتوبة باللغة العربية من قاعدة البيانات MySQL وتتفاجأ بظهور رموز و علامات استفهام، المشكلة في هذه الحالة هو عدم تعرف المتصفح على نوعية الترميز أو أن هذه البيانات لم يتم حفظها بطريقة صحيحة في قاعدة البيانات، والحل هو جعل قاعدة البيانات بترميز عام. لتفادي هذا المشكل منذ البداية، يجب علينا أن نتصرف على هذا النحو: عند الدخول على واجهة تدبير قاعدة البيانات، تأكد من أن الترميز لدى السيرفر هو ترميز عام utf8_general_ci. عند إنشاء قاعدة بيانات أيضا، اختر الترميز العام utf8_general_ci. يمكنك كذلك إنشائها من خلال الاستعلام SQL: CREATE DATABASE database_name DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; هكذا يطبق الترميز العام على الجداول والحقول فيصبح الترميز بالنسبة للجداول و الحقول عاما utf8_general_ci. ولتعديل ترميز قاعدة بيانات موجودة مسبقا: لتغيير ترميز قاعدة البيانات: ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci; لتغيير ترميز الجداول: ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; لتغيير ترميز الحقول: ALTER TABLE table_name MODIFY column_name VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci; هذا من جهة قاعدة البيانات لكن بقيت خطوة أخيرة يتم فيها تحديد الترميز الخاص بمعالجة بيانات الاتصال، وهي أن نضيف بعض الاستعلامات SQL إلى ملف الإتصال بهذا الشكل: $srv = 'localhost'; $db = 'test'; $user = 'root'; $pwd = ''; try { $bdd = new PDO('mysql:host='.$srv.';dbname='.$db,$user,$pwd); //تحديد الترميز الخاص بمعالجة بيانات الاتصال $bdd->query("SET NAMES utf8"); $bdd->query("SET CHARACTER SET utf8"); } catch (Exception $e) { die('error !'.$e->getMessage()); } أنصح بتحديد الترميز utf8_general_ci لحظة إنشاء قاعدة البيانات، لكي يطبق الترميز العام على كل الجداول وحقولها فترث بذلك الترميز من قاعدة البيانات. بالتوفيق ...
    1 نقطة
×
×
  • أضف...