مشكلة عند قراءة البيانات من قاعدة البيانات Mysql

السلام عليكم ورحمة الله وبركاته

لدي مشكلة عند قراءة البيانات من قاعدة البيانات Mysql

برمجة جزئية خاصة باستيراد بيانات من ملف csv عن طريق php

عند قراءة البيانات مباشرة من ملف csv وعرضها على المتصفح تظهر بشكل صحيح

لكن بعد تخزينها في قاعدة البيانات Mysql ثم قرائتها من mysql وعرضها في المتصفح تظهر اللغة العربية علامات استفهام

علما أن جربت نوع الترميز utf8_general_nopad_ci و utf8_unicode_ci

ارجو من لديه الحل يفيدني وشكرا

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

مرحبا،

يمكن أن تكون المشكلة إما في php أو HTML بالإضافة لـ mySQL لأن البيانات تمر على جميع هذه اللغات.

في الملف php الذي يتصل بقاعدة البيانات يمكنك تحديد الترميز مباشرة كالتالي:

$link = mysql_connect('localhost', 'user', 'password');

  mysql_set_charset('utf8', $link);

في المخدم الخاص بك يمكنك تغيير الترميز الخاص ب php عن طريق تعديل الملف: php.ini ووضع الترميز الافتراضي كما يلي: default_charset = "utf-8"; للتأكد من عمل الترميز يمكنك تنفيذ الدالة التلية في ملف php تجريبي وسيعطي معلومات الترميز (أرجو إعادة تشغيل السيرفر).

phpinfo();

في حال استمرار المشكلة يمكنك تضمين التالي في ملفات php التي تتعامل مع الخرج echo وقاعدة البيانات

  header('Content-Type: text/html; charset=utf-8');

وهذا سيغير ترميز البيانات المرسلة للمتصفح للشكل المطلوب.

في صفحات HTML يفضل وضع التعليمة التالية في head الصفحات:

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

وتحديد نمط البيانات الممرر من form في حال الكتابة بالعربية كالتالي:

  <form accept-charset="utf-8">

بالتوفيق

هل تستطيع الدخول لـPHP My Admin ؟

و عليكم السلام

المشكة تحدث عند حفظ البيانات في قاعدة البيانات

و السبب هو الترميز الخاص بقاعدة البيانات

قم بتغير التريمز من utf8_general_nopad_c او utf8_unicode_ci

و جعل الترميز utf8_general_ci