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

كيف أعرض الحروف العربية في ال Axmpp/phpmyadmin ؟

بدأه موظف في 12 ديسمبر 2007 · 8 رد · 5,696 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

قمت بتنزيل حزمة ال AXMPP التي تحوي عدة مكونات منها APACHE SERVER,PHP5/4,MYSQL,PHPMYADMIN، أريد من ذلك تعلم ال PHP وال MYSQL. قمت بإنشاء قاعدة بيانات بها عدة جداول، وملأت بعض هذه الجداول ببعض البيانات. المشلكة عندي أن ال phpMyAdmin عندما أقوم بإستعلام ما على جدول ما بداخله فإنه لا يعرض البيانات العربية ، فقط يظهرها على صورة علامات إستفهام (????????)، علماً بأني جربت تعيين قيمة ال collation لهذه الحقول ولكامل قاعدة البيانات على القيمة utf8 مرة و cp1256_general_ci مرة و cp1256 مرة أخرى، لكن في كل مرة تظل المشكلة كما هي ويظل ال phpMyAdmin يعرض علامات الإستفهام بدلاً من الحروف العربية!.

هل أجد حلاً لهذا الأمر عند أي من الإخوة الكرام؟

شكراً للجميع،،،

#2

السلام عليكم،،،

الحمدلله، حلت المشكلة التي تكلمت عنها في المشاركة الأولى، ال cp1256_general_ci Collation تضمن بأن تظهر الحروف العربية، لكني كنت قد أدخلت مجموعة سجلات تحوي بيانات للتجربة فقط وكانت ال Collation حينها Latin، فلما غيرتها إلى cp1256_general_ci و أصبح يظهر عندي علامات الإستفهام (؟؟؟؟) بدلاً من الحروف العربية ظننت أن ال cp1256_general_ci Collation لا تعمل وهي المشكلة !، وظللت أحاول إيجاد حل وأستعرض نتائج الإستعلام بإستخدام نفس السجلات والبيانات التي أدخلتها " منذ البداية" !. لكن لما أدخلت مجموعة سجلات وبيانات جديدة، بعد تغيير ال Collation إلى cp1256_general_ci أصبح كل شيء يعمل كما يجب، الكلمات العربية تظهر بالحروف العربية وكل شيء على ما يرام، واضح أن تأثير تغيير ال Collation يحصل على السجلات التي أدخلت بعد إحداث التغيير فقط، ولا تتأثر به السجلات المدخلة قبله ! ، عموماً أستطيع التعايش مع هذا الأمر الآن، وإن كنت أحب معرفة طريقة تتيح عرض كل السجلات بالحروف العربية، سواء تلك التي أدخلت قبل تغيير ال Collation أو التي أدخلت بعده !.

المشكلة عندي الآن في صفحة ال PHP، لا تعرض البيانات بالحروف العربية إنما علامات إستفهام (؟؟؟؟؟) ! ، عندي صفحتين، الأولى html page تحوي form يستدعي php page، كلاهما وضعت فيهما أن ال charset=windows-1256، وفي ال Apache Server أضفت اللغة العربية في ال httpd.conf file من خلال السطر AddCharset ISO-8859-6 .iso8859-6 .arb .arabic ، مع ذلك، ال php page التي من المفترض أن تعرض البيانات العربية المستدعاة من قاعدة البيانات تعرضها على هيئة علامات إستفهام (؟؟؟؟؟)، كيف أستطيع أن أحل هذا الأمر ؟!

هل واجه أحد الإخوة مثل هذا الأمر ويعرف له حل ؟

أرجو المساعدة،،،شكراً للجميع،،،،

#3

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

اخي الكريم خود هاد السكريبت و ضيفة الى صفحة الــ config بعد عملية الاتصال بقواعد البيانات .

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

و ان شاء الله بميشي الحال .

ادعيلنا .

بالتوفيق .

@mysql_query("SET NAMES 'cp1256' COLLATE 'cp1256_general_ci' ");

@mysql_query("SET character_set_server='cp1256'; ");

@mysql_query("SET character_set_client='cp1256'; ");

@mysql_query("SET character_set_results='cp1256'; ");

@mysql_query("SET character_set_connection='cp1256'; ");

@mysql_query("SET character_set_database='cp1256'; ");

@mysql_query("SET collation_connection='cp1256_general_ci'; ");

@mysql_query("SET collation_database='cp1256_general_ci'; ");

@mysql_query("SET collation_server='cp1256_general_ci'; ");

تم تعديل هذه المشاركة بواسطة عدوووون في 13 ديسمبر 2007 في 14:07

سبحان الله والحمد لله ولا اله الا الله و الله اكبر

اللهم صلي وسلم وبارك على سيدنا محمد وعلى اله وصحبه وسلم

#4

أخي الكريم "عدوووون"....

:ty: لك جزيلاً :D .

كان الأمر بدأ يؤرقني كثيراً، حتى رأيت ردك ووضعت السكربت الذي دللتني عليه ، ثم سارت الأمور على خير ما يرام، الآن البيانات المستدعاة من قاعدة البيانات تعرض بالحروف العربية كما يجب:).

لا أعلم ما هي صفحة ال config التي ذكرتها، لكني وضعت السكربت في الصفحات التي تريد أن تتصل بقاعدة البيانات ونجح الأمر، فإن وجدت لديك الوقت أخي "عدوووون" لتخبرني ما هي صفحة ال config هذه واختلاف الحال عن وضع السكربت في صفحة تتصل بقاعدة البيانات مباشرة فأرجو منك أن تفعل، أما إن لم تجد الوقت فلا عليك، أبحث عن الأمر بإذن الله، وقد كفيت ووفيت:).

شكراً مرة أخرى وبارك الله فيك وفتح عليك ورزقك ما تحب والجنة:).

#5

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

اخي الكريم موظف الله يعطيك العافية ويفتح عليك .

صفحة الــconfig هي صفحة فيها جميع الاعدادات التي تخص الاتصال بقواعد البيانات .

وغالبا الميرمجين بيضعوا اعدادات الاتصال بقواعد البيانات في هذه الصفحة و من ثم يستدعوا هذه الصفحة في كل موضع يحتاجون

فيه للاتصال بقواعد البيانات بدلا من ان يكتبوا السكريبت كل مرة .

و غالبا محتوى صفحة الــ config يكون هكذا :

$con = mysql_pconnect("localhost","root","");
mysql_select_db("database",$con);

تم تعديل هذه المشاركة بواسطة عدوووون في 14 ديسمبر 2007 في 17:18

سبحان الله والحمد لله ولا اله الا الله و الله اكبر

اللهم صلي وسلم وبارك على سيدنا محمد وعلى اله وصحبه وسلم

#6

أخي "عدوووون"....

شكراً لك على التوضيح بخصوص صفحة ال config، فعلاً وضع إعدادات الإتصال بقاعدة البيانات جميعها في صفحة واحدة واستخدامها عند الحاجة أمر أكثر راحة ويوفر كثير من العمل والوقت، سأبدأ بإستخدامها بإذن الله.

سلمت وبارك الله فيك:).

#7

ما شاء الله عليك مبدع والله مبدع كم سنة وأنا متوقف عن البرمجة بسبب إني أبحث عن حل لهالمشاكل اللي تطلعلي بسبب هالترميز

ألف شكر لك بعد الله عزيزي

#8

بســم الله الـرحمــن الرحيــم

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

مشكلتي هي اني في صفحة الترميز لا اتصل نهائيا بالداتا بيز واكني اخد من الفورم وابعث مافي الفورم في ايميل المشكلة ان الايميل المبعوث لا يظهر فيه العربي كما يجب

شكرا جزيلا لكم

#9

شكراً للأخ عدنان عيسى على الكود.

المشكلة لدي كما يلي:

أستخدم asp3.0 و mysql

ترميز الجداول في قاعدة البيانات: cp1256_general_ci

وأستطيع مشاهدة العربي بشكل صحيح سواء في PHPmyadmin على السيرفر أو أداة Mysql Workbench عند الاتصال بقاعدة البيانات التي على السيرفر.

كود الاتصال بقاعدة البيانات:

Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Driver={MySQL ODBC 3.51 Driver};Server=***;Database=***;User=***; Password=***;Option=3;"
cn.execute "SET NAMES 'cp1256' COLLATE 'cp1256_general_ci' "
cn.execute "SET character_set_server='cp1256'; "
cn.execute "SET character_set_client='cp1256'; "
cn.execute "SET character_set_results='cp1256'; "
cn.execute "SET character_set_connection='cp1256'; "
cn.execute "SET character_set_database='cp1256'; "
cn.execute "SET collation_connection='cp1256_general_ci'; "
cn.execute "SET collation_database='cp1256_general_ci'; "
cn.execute "SET collation_server='cp1256_general_ci'; "

وفي صفحة asp أستخدم:

<%@Language=VBScript Codepage=1256%>

وأيضاً:

<META http-equiv="Content-Type" content="text/html; charset=windows-1256">

الآن عندما أفتح الموقع على جهازي (مستخدماً اتصال بقاعدة بيانات السيرفر وليس قاعدة بيانات على جهازي): فإن العربي يظهر بشكل صحيح.

ولكن عندما أفتح الموقع من السيرفر فإن العربي لايظهر بشكل صحيح بل على شكل : ؟؟؟؟؟؟؟؟؟؟

هل من حل؟

محمد حمود

ماجستير تقنية المعلومات

بكالوريوس هندسة مدنية

محترف إدارة مشاريع (PMP)

مهندس جودة البرمجيات (CSQE)

مبرمج معتمد من مايكروسوفت (MCP)

متخصص في نظم المعلومات الجغرافية GIS

mohamed.hammod(at)gmail.com

www.ShapeViewer.com

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