النتائج 1 إلى 9 من 9

الموضوع: مشكلة البحث في MySQL واللغة العربية

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    Aug 2002
    المشاركات
    715

    مشكلة البحث في MySQL واللغة العربية



    لدي جدول في قاعدة البيانات Mysql
    يوجد به حقلين
    كود PHP:
    name_ar
    و
    name_en 
    ولما أبحث في الحقل العربي تظهر نتائج أقل ولما أبحث في الحقل الإنجليزي تظهر جميع النتائج

    إلي أعرفه يجب تشفير مدخلات البحث بهذا الكود

    كود PHP:
    mysql_query("select * from regions where  name_ar LIKE CONVERT( _utf8 '%$word%'USING latin1 ) COLLATE latin1_swedish_ci"); 
    كيف أضيف الحقلين
    كود PHP:
    name_ar
    و
    name_en 
    داخل الإستعلام

    أو بالأحرى كيف أستخدم كود الترميز
    كود PHP:
    name_ar LIKE CONVERT_utf8 '%$word%'USING latin1 COLLATE latin1_swedish_ci 






    __________________
    Linux For Server | Mac For Graphic | Windows For ٍٍٍٍٍSolitaire


  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2008
    المشاركات
    555


    يا اخي ليس المشكلة من العربية اكتب اكوادك بالترميز utf-8 وتحل كل المشاكل





    __________________
    مدونتي قريبا

    بيع ar-ci.com

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    597


    اجعل ترميز القاعدة utf-8 والملفات كذلك .. ولن تواجه أي صعوبه






  4. #4
    Banned
    تاريخ التسجيل
    May 2008
    المشاركات
    368


    إذا كانت النصوص "نسخ" "لصق" بترميز غير UTF-8 مباشرة إلى الحقل سترسل بالترميز الأصلي لها وليس UTF-8 لذلك يجب أن تكتبها النصوص في ملف TEXT قبل نسخها مرة تانية إلى الحقل.






  5. #5
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947


    أخي الكريم .. المشكلة ليست في الترميز بل في عدم دعم ال mysql الكامل للغة العربية وقواعدها..
    مثلا ستجد في اللغة العربية كلمات بالتشكيل مثال على ذلك الهمزة قد تكتبها بالاشكال التالية (أ |إ | ا |أُ |اِ) .. والكثير من الكتابات وفي كل كلمة ستختلف عن سابقتها..

    لهذا الحل الوحيد هو استخدام التعبيرات القياسية في ال mysql عن طريق الدالة regexp ..

    واليك مثال للبحث باستخدام التعبيرات القياسية مع تخطي مشكلة الالف مثلا ..

    كود PHP:
    select from `articleswhere `titleREGEXP '^(أ|إ|ا|آ)' 
    وهذا استعلام لطباعة العناوين التي تبدأ بأي شكل من أشكال الهمزة ..

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





    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

  6. #6
    عضو سوبر نشيط
    تاريخ التسجيل
    Aug 2002
    المشاركات
    715


    شكراً لكم إخواني على الردور
    لقد قمت بتحويل جميع محتويات الموقع من ملفات وقواعد بيانات إلى UTF8
    ولكن لا فائدة
    مازالت المشكلة قائمة

    المشكلة بضبط عند كتابة كلمة في محرك البحث باللغة العربية وننتقل لصفحة البحث يظهر نص الكلمة بهذا الشكل ظ…ظ†

    أعتقد المتغير
    $_GET[word]
    يحتاج لإعادة ترميز لنقله بصورة صحيحة لصفحة البحث

    كيف يتم إعادة ترميز المتغير؟





    __________________
    Linux For Server | Mac For Graphic | Windows For ٍٍٍٍٍSolitaire

  7. #7


    أول كويري خليها
    set names utf8

    وهذا لتشفير المدخل لقاعدة البيانات قبل التنفيذ

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

    الأمر يحتاج وحده لتفرغ وبرمجية كاملة متخصصه فقط في البحث <<< محرك بحث !!





    __________________
    السيف أصدق أنباء من الكتب

  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    547


    صديقي العزيز أرجو أن تجد ما تبحث عنه لدي هنا:

    http://www.ar-php.org‏

    أنظر المثال الخاص بالبحث بساق الكلمة حيث يمكنك ضبط كل من تشفير الدخل (بحسب تشفير الصفحة)، وتشفير الخرج (بحسب تشفير قاعدة البيانات) ليقوم ببناء كل من قسم WHERE و ORDER BY ليتم استخدامها بتعليمة SQL لتراعي العديد من حالات الجمع والتثنية والأخطاء الشائعة والهمزات والحالات الإعرابية الخ...

    لاحظ أن قسم ORDER BY سيهتم بترتيب النتائج المعادة بشكل أكثر منطقية تعتمد على معدل ظهور الكلمات التي يتم البحث ضمن النص






  9. #9
    عضو سوبر نشيط
    تاريخ التسجيل
    Aug 2002
    المشاركات
    715


    اشكرك أخي
    لكن كيف أقدر أنصب هذه المكتبه في السيرفر الشخصي؟





    __________________
    Linux For Server | Mac For Graphic | Windows For ٍٍٍٍٍSolitaire





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض