حل مشكلة الترميز UTF-8 واللغة العربية – قواعد بيانات MYSQL

عندما تبرمج موقعاً بيدك كاملاً ستواجه مشاكل عدة، من هذه المشاكل: عند إختيارك الترميز UTF-8 لقواعد البيانات والعمل على اللغة العربية. يظهر المحتوى العربي في الموقع على شكل علامات إستفهام!
حسناً لا يأس مع الحياة :P . تستطيع حل المشكلة بإضافة إستعلام MYSQL هذا كي ينفذ مباشرة بعد الإتصال بقواعد البيانات:
set character_set_server='utf8';
set names 'utf8';

أو مثال على إستخدامها في لغة PHP (شكراً للأخ أحمد على التنبيه):
<?php
    mysql_connect($db_hostname, $db_username, $db_password);
 mysql_query("set character_set_server='utf8'");mysql_query("set names 'utf8'");
 // The rest of you php code!
?>
ويفضل إستخدامه مباشرة بعد الإتصال بقاعدة البيانات.
أحيانا هذا الكود لا يحل المشكلة فنجرب الكود التالي بدلاً منه:
set names 'utf8';
أو بلغة php:
<?php
    mysql_connect($db_hostname, $db_username, $db_password);
 mysql_query("set names 'utf8';");
 // The rest of you php code!
?>
كما أن هناك بعض الخطوات التي يجب أن تتبعها قبل أن تعتمد هذا الحل وهن:
  1. جميع ملفاتك الخاصة بالموقع سواء كانت PHP أو HTML يجب أن تحمل الترميز UTF-8. ولا تنسى أيضاً كتابة نوع الترميز في ترويسة ملفات HTML.
  2. قاعدة البيانات يجب أن تكون بترميز UTF-8 ومن النوع utf8_unicode_ci ولا تجرب أن تختار غيره فالنتيجة غير مضمونة.
إذا لم تحل المشكلة إخبرني :) 



twitter شارك هذه الصفحة :

شارك الصفحة في الفيس بوك
شارك الصفحة في صدي قوقل
شارك الصفحة في تويتر Twitter
تابعنا عبر خدمة الخلاصات RSS
تابع تعليقات المدونة عبر الـRSS

أضف بريدك للاشتراك بالقائمة البريدية

Delivered by FeedBurner

0 التعليقات:

إرسال تعليق