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

السؤال

Recommended Posts

  • 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 لحظة إنشاء قاعدة البيانات، لكي يطبق الترميز العام على كل الجداول وحقولها فترث بذلك الترميز من قاعدة البيانات.

بالتوفيق ...

  • 0
نشر

شكرا لك اختي على الرد

يقول في خطاء في بناء الجمله

 

هذه اسم قاعدة البينات C:\USERS\JMAIL\SOURCE\REPOS\MYSALES\MYSALES\MYSALES\BIN\DEBUG\MYSALES.MDF

وهذا اسم الجدول company

1.png

2.png

بعض الجداول الذي فيه نفس المشكله وليس قاعدة البينات كامله

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...