الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة مع php عند أسترجاع بيانات باللغة العربية من Mysql

مغلق
بدأه Eyla في 20 مايو 2007 · 6 رد · 4,329 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الأعزاء من لديه خبرة مع PHP و Mysql

لأول مرة أقوم بعمل موقع على الأنترنت يتعامل مع اللغة العربية و أواجه مشكلة في ذلك.

قمت بعمل قاعدة بيانات بأستخدام Mysql و أستخدمت utf8 لترميز الكتابة.

البيانات في الجداول مكتوبة باللغة العربية و لا توجد لدي أي مشاكل مع Mysql واللغة العربية.

لكن عند أسترجاع البيانات من Mysql بأستخدام php كود تظهر البيانات على شكل علامة أستفهام(؟؟؟؟؟؟) في متصفح الأنترنت.

علماً أني قمت بتغير التشفير من utf8 الي cp1256 وكانت نفس النتيج عند الأسترجاع.

جربت الأصدار 4 و 5 من php و كانت نفس النتائج.

واجهتني المشكلة اليوم و قمت بالبحث في الأنترنت لحل هذه المشكلة و لم أجد حل حتى الآن و بما أنا موعد نوم قريب قررت أن أكتب هذا الموضوع لعلي أجد المساعدة من الأخوة و أجد الحل لديهم و

أستخدمه غدا صباحاbiggrin.gif .

في أنتظار مساعدتكم

و لكم مني خالص التحيات

Eyla

#2

يمكن اختيار Latin بدل utf8و بيمشي الحال و أنا مجربها

ASP.Net only

عن أبي قبيل قال كنا عند عبدالله بن عمرو بن العاص وسئل أي المدينتين تفتح أولا القسطنطينية أو رومية فدعا عبدالله بصندوق له حلق قال فأخرج منه كتابا قال فقال عبدالله بينما نحن حول رسول الله صلى الله عليه وسلم نكتب إذ سئل رسول الله صلى الله عليه وسلم أي المدينتين تفتح أولا أقسطنطينية أو رومية فقال رسول الله صلى الله عليه وسلم مدينة هرقل تفتح أولا . يعني قسطنطينية . رواه أحمد

ان شاء الله ستفتح رومية و هي على الأغلب مدينة روما

#3

السلام عليكم

جرب الكود التالي

SELECT CONVERT(`x` USING binary) as z FROM tabel
#4

الإخوة الكرام

لقد حللت مشكلتي في ال phpmyadmin بإختيار ال latin1 لكن فيه موقع لم يتيح لي في قسم إستيراد ملف sql خيار الترميز فكيف استطيع إضافة كود في نفس القاعدة يجعل الإستيراد يكون بترميز latin1 خاصة انني استطعت الإستيراد بعد جهد جهيد

شاكراً لكم الفزعه

#5

اولا تاكد من انك انشأت قاعدة البينات بالترميز المطلوب وهو في حالتك utf-8 وايضا الجداول , في الغالب تكون الجداول نفس ترميز القاعدة .

ثانيا قبل ارسال اي استعلام الى قاعدة البينات عليك تحديد نوع الترميز المستخدم في الاستعلام وذلك بارسال هذه التعليمة قبل ارسال اي استعلام اخر .

بعد عمل mysql_connect اكتب مباشر

mysql_query("SET NAMES utf8;");
mysql_query("SET CHARACTER_SET utf8;");

راجع http://dev.mysql.com/doc/refman/5.0/en/cha...connection.html

#6

أواجه نفس المشكلة ولا حل نفع معاي :(

الداتا بيس : CREATE DATABASE `uni` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

عندما أقوم بإدخال البيانات عن طريق phpAdmin ،، تكون بالعربي في الداتا بيس ولكن علامات استفهام في المتصفح

هل يوجد حل آخر :(

#7
dark_angle كتب:
أواجه نفس المشكلة ولا حل نفع معاي :(

الداتا بيس : CREATE DATABASE `uni` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

عندما أقوم بإدخال البيانات عن طريق phpAdmin ،، تكون بالعربي في الداتا بيس ولكن علامات استفهام في المتصفح

هل يوجد حل آخر :(

اكيد طبعا البيانات هاتظهر بالعربى فى phpmyadmin علشان انت دخلت البيانات من خلاله والترميز الاصلى من خلاله

علشان تدخل البيانات وتكون سليمة فى الظهور على المتصفح باستخدام الترميز windows-1256 قوم بالتالى

1- انشأ صفحتين php الأولى ابنى فيها فورم وطبعا متضمنة الحقول والبيانات اللى انت عاوز تدخلها وقم بضبط الاكشن الى الصفحة الثانية (ترميز الصفحة الاولى windows-1256(

2- قم بانشاء صفحة اخرى فيها اوامر الاتصال بقاعدة البيانات وباستخدام الامر $_POST أو $_GET وأوامر mysql قم باضافة البيانات الى قاعدة البيانات

3- قم بالدخول على phpmyadmin سوف تلاحظ ان البيانات تظهر بترميز اخر مثل (ãÕÑ) تظهر فى المتصفح ب(مصر)

انا رايحت بالى على الاخر بعد محاولات كبيرة فى محاولة الترميز من خلال اوامر البى اتش بى ان اعمل سيناريوهات بسيطة لادخال البيانات كصفحات admin لكل موقع اقوم بالشغل فيه فى الاول بيبقى الموضوع رخم شوية بس بعدين بتلاقى نفسك وصلت الى مرحلة بادارة جميع بياناتك من خلال الموقع مباشرة وده فى نظرى افضل

ارجو انى اكون افدتك فى الموضوع

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…