| |||||||
| المدوّنات | البحث | مشاركات اليوم | اجعل كافة المشاركات مقروءة |
|
| | LinkBack | أدوات الموضوع |
| |||||
| الـ UTF8 - الكيف والمشاكل والحلول.. (أرشيف) نظراً لأني بصدد برمجة مشروع خاص.. أحببت أن يكون متوافق مع جميع المعايير القياسية وأن يكون متطور مع النظرة الحديثة للويب2، فكان أول شيء علي أن أراعيه هو الترميز.. ونظرا لأن ترميز الـ UTF8 هو من التراميز العالمية ولكثرة إيجابياته ومحاسنة التي تطغى عن سلبياته إن وجدت، أردت أن أعتمد هذا الترميز.. ونظرا لقلة معرفتي عنه كالكثير من قرّاء هذا الموضوع حالياً.. وددت أن أشارك ماتوصلت إليه من بحث في مواضيع سوالف معكم.. وأخفف عنكم عناء ماعانيته من بحث وقراءة للكثير من الموضيع التي غالباً ما لن توصلكم إلى ماتريدونه.. بعد البحث والقراءة أذكر لكم أهم المواضيع التي ذكرت عن هذا الترميز: 1) إنشاء قاعدة بيانات بترميز utf8_unicode_ci وليس utf8_general_ci راجع http://www.swalif.net/softs/swalif-1557111-6.html 2) أثناء إضافة البيانات لقاعدة البيانات تأكد من إضافتها بترميز الـ utf8 وليس باللغة العربية راجع http://www.swalif.net/softs/swalif-1557372-10.html للتوضيح أنظر النقطه 6 3) ان يكون هيدر الموقع يصاحبه تعريف بأن الصفحه تحوي نص utf8 راجع http://www.swalif.net/softs/swalif-1515207-2.html 4) كيف نجلب نص من قاعدة البيانات بصيغة utf8 راجع http://www.swalif.net/softs/swalif-1515207-2.html 5) لتعديل قاعدة البيانات .. إلى ترميز utf8 راجع http://www.swalif.net/softs/swalif-1515207-2.html 6) تحويل النصوص (مدخلات - مخرجات) من ترميز الى اخر او تحويل كامل الموقع للنصوص او كامل الموقع راجع http://www.swalif.net/softs/swalif-1031627-1.html راجع أيضاً Khaled Al-Shamaa PHP & Arabic Language لقواعد البيانات راجع http://www.swalif.net/softs/swalif-1432998-1.html 7) إن واجهتك مشكله في هذا الترميز وبسبب الدوال التي لا تقبل اي شيء قبلها مثل الـ sessions او الـ headers فيكون السبب غالباً في الـ BOM راجع http://www.swalif.net/softs/swalif-1570436-1.html 8) لجلب نصوص ذات ترميز مخالف لترميز موقعك (الـ utf8) راجع http://www.swalif.net/softs/swalif45/softs197513/ 9) لتحويل قواعد البيانات الجاهزة إلى ترميز الـ utf8 عن طريق التحميل وإعادة الرفع راجع http://www.swalif.net/softs/swalif-1429282-1.html عن طريق الشيل راجع http://www.swalif.net/softs/swalif-1429440-5.html عن طريق سكربت راجع http://www.swalif.net/softs/swalif54/softs197813/ 10) عند كتابة ملف بالترميز utf-8 وادراج كلمات عربية لاتظهر بالشكل المطلوب راجع http://www.swalif.net/softs/swalif-1407257-4.html مواضيع ذات صلة: http://www.swalif.net/softs/swalif54/softs200057/ أرجو أن تكونو استفدتم ![]() دعواتكم وشكرا
__________________ مملكة الموت ـــ خدمات مملكة الموت مازالت الخطط قيد الانشاء والتطوير ======================= سبحان الله وبحمده ،،، سبحان الله العظيم | |||||
|
| |||||
|
إخواني الأعزاء.. بعد القراءة قمت بتطبيق مثال لكم عبارة عن سكربت بسيط لعرض وإضافة الأخبار ستجد السكربت بالمرفقات.. بعد التحميل وفك الضغط عنه ستجد مجلد اسمه dsUTF8 وبداخله ستجد ملفين. الأول index.php وهو الذي سنقم بشرحه، أما الثاني وهو SQL.txt وبه محتوى الجدول الذي يتعين عليك زراعته.. لنقم بشرح التركيب: 1) قم بإضافة قاعدة جديده وليكن اسمها test_utf8 أو قم بتغيير الاسم الموجود بالسطر 9 في ملف الـ index.php حسب رغبتك. ملحوظه: - لا يهم ترميز القاعده 2) قم بزراعة مابداخل ملف الـ SQL.txt في قاعدة البيانات التي سبق لك وأنشأتها. 3) قم باستدعاء ملف الـ index.php من المتصفح بعد وضعه في مجلد العرض في السيرفر الشخصي. الآن وبعد أن قمنا بالتركيب لنقم بالتجربة البرنامج بإدخال وعرض. . . . . . . . هل كان يعمل بشكل جيد؟ ممتاز.. لنلقي نظرة الآن عن مصدر ملف الـ index.php كود PHP: لنقم بشرح أهم محتوياته كود PHP: ان كان اسم القاعدة غير ال test_utf8 علينا التعديل في الكود السابق لتعديل اسم القاعدة كود PHP: لأننا لسنا بصدد أوامر الاتصال والاستعلام فلن أخوض بها بكثرة. كود PHP: كود PHP: ومايهمنا هنا هو هذا السطر كود PHP: على العكس ما قمنا به في السابق.. حيث أننا لم نقم بتحويل ترميز البيانات التي قمنا بجلبها في صفحة عرض الأخبار وسنعرف السبب لاحقاً كود PHP: كود PHP: التحويل تم عن طريق الدالة كود PHP: كود PHP: وبعد الإضافة تحقق إن تمت الإضافة بالفعل أم لم تتحقق وفي كلا الحالتين قم بتخزين نتيجة التحقق في متغير الـ $dsOutput..... ونكرر عملية التحويل عن طريق الدالة كود PHP: كود PHP: كود PHP: كود بلغة HTML: <html dir="rtl"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style> body { font-family:Tahoma; font-size:9px; color:#000; margin:0px; padding:5px; background:#fff; } a { color:#bbb; font-size:11px; text-decoration:none; } a:hover { color:#333; } span { width:163px; } span a { background:#eee; padding:20px; float:right; margin:2px; border:1px solid #999; color:#555; font-size:16px; text-decoration:none; } span a:hover { background:#555; color:#eee; text-decoration:underline; } form { margin:0px; padding:0px; width:500px; } form ul { margin:0px; padding:3px; list-style:none; font-size:12px; } form li { margin:2px; width:100%; padding:0px; text-align:right; } form li.txt { background:#f9f9f9; float:right; padding:5px; margin:0px 0px 0px 0px; width:100px; color:#666; } form li input { border:1px solid #ddd; margin:0px 2px 0px 0px; padding:3px; width:381px; font-family:Tahoma; color:#777; } form li textarea { width:381px; height:50px; border:1px solid #ddd; margin:0px 2px 0px 0px; padding:3px; font-family:Tahoma; font-size:12px; color:#777; } form li input.btn { width:100px; border:1px solid #ddd; margin:0px 2px 0px 0px; background:#f5f5f5; } div { padding:0px; margin:0px; width:720px; display:block; } div.block { width:350px; padding:5px; text-align:justify; margin:5px 0px 5px 0px; border-bottom:2px dashed #f0f0f0; float:right; } div.block h1 { font-family:Tahoma; font-size:12px; font-weight:bold; margin:0px; padding:5px 15px 5px 5px; background:#f8f8f8; border-bottom:1px solid #bbb; color:#666; } div.block h2 { font-family:Tahoma; font-size:11px; font-weight:normal; margin:0px; padding:5px; color:#999; } div.dsq8 { line-height:100px; float:left; } </style> </head> <body> <?php echo "$dsLinks\n"; ?> <center> <?php echo "$dsOutput\n".iconv('','UTF-8','<div class="dsq8">اعداد وتقديم: <a href="http://dsq8.com/" title="DeaD SouL" target="_blank">DSQ8.com</a> - فلا تبخل بالدعاء لي ولأهلي إن استفدت</div>'); ?> </center> </body> </html> وأهم ما يحتويه هو السطر التالي كود بلغة HTML: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> محتويات ملف الـ SQL.txt كود PHP: كود PHP: ترا لماذا لم نقم بتحويل البيانات التي جلبناها في صفحة عرض الأخبار إلى ترميز الـ utf-8 ??? الإجابة سهله جدا... لأننا سبق لنا وأن قمنا بتحويلها إلى هذا الترميز عند الإضافة... صحيح أننا لم نقم بذلك عملياً.. ولكن بم أن صفحة نموذج إرسال الخبر كانت بترميز utf8 فكان هذا كافيا لجعل القيم المرسله من تلك الصفحه بترميز الـ utf8 لذلك فإن قمنا ترميز البيانات المستخرجه من قاعدة البيانات فكأننا نقوم بإعادة ترميز الترميز.. وهذا سيسبب عرض الطلاسم والرموز المبهمه ترا لماذا ذكرت أن ترميز قاعدة البيانات لا يهم ؟؟؟ الإجابة سهله أيضاً لأن ليس مايهمنا هو ترميز قاعدة البيانات على قدر مايهمنا جدول الأخبار الذي سنقوم بالتعامل معه.. وهذا معناته أنه من الممكن أن يكون ترميز القاعدة مخالف لترميز الجدول.. ليس هذا فحسب بل من الممكن أيضاً أن يحتوي جدول واحد على حقول ذات تراميز مختلفه.. الاستنتاجات الشخصيه: 1) يجب أن لا ننسى وسم الميتا في صفحة الhtml ذات ترميز utf8 2) ليس من المهم أن تكون القاعدة بترميز الـ utf8 أو أن تكون جميع حقول الجداول بهذا الترميز.. لأنه من الجائز أن يكون هناك حقول بترميز مخالف لترميز الـ utf8 بجانب حقول أخرى تحمل هذا الترميز في الجدول الواحد.. 3) علينا أن لا ننسى أنه إن كنا بصدد جلب بيانات معينة من حقل ليس لا يحمل ترميز الـ utf8 فإنه يتعين علينا أن نقوم بتحويل هذه البيانات إلى ترميز ال utf8 مع عدم تحويل تلك البيانات الأخرى (لأنها في الواقع تحمل هذا الترميز) 4) أن الجدول واحد قد يعمل بشكل سليم دون أية مشاكل إن كان يحتوي على أكثر من ترميز للحقول.. طالما استطعنا معرفة من يحتاج لتحويل الترميز ومن لا يحتاج هذه الإستنتاجات شخصيه قد تحتمل الإصابة والخطأ، ولكنها مدعومه بدلائل التجربه.. في النهاية إن أصبت فمن الله وإن أخطأت فمني ومن الشيطان.. دعواتكم دعواتكم
__________________ مملكة الموت ـــ خدمات مملكة الموت مازالت الخطط قيد الانشاء والتطوير ======================= سبحان الله وبحمده ،،، سبحان الله العظيم | |||||
|
![]() |
| أدوات الموضوع | |
| |
المواضيع المتشابهه | ||||
| الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
| نبارك للمنتخب كوريا الجنوبيه والسعوديه | slo7e | سوالف عامة | 16 | 09-06-2005 04:52 PM |
| !][ عندما يتقاطع الـ Wiki مع الـ Weblog ][ تعرف على الـ Bliki ][! | مازن مليباري | تطوير الويب | 19 | 14-05-2005 01:20 AM |
| Winsock.ocx | طالب الروسي | أخبار الإنترنت والتقنية ومناقشتها | 7 | 01-08-2001 10:44 AM |
| درس ــ تثبيت برنامج WWWThreads في جهازك الشخصي | الحائر | تطوير الويب | 73 | 17-02-2001 09:36 PM |
| تركيب vB | تطوير الويب | 9 | 07-08-2000 06:41 AM | |