اذهب إلى المحتوى

السؤال

نشر (معدل)

قمت بانشاء قاعدة بيانات  وقمت بتعبئتها بالبيانات انجليزية وعربيه ، ثم انشأت اداة text box للبحث من عمود الاسماء وتمت العملية بنجاح .

المشكلة :

انني عندما اقوم بالبحث عن اسم بالحروف العربيه يقول غير موجود 

اما اذا بحثت عن اسم باللغة الانجليزية فان البحث يتم بنجاح

اريد حل لهذه المشكلة وجزاكم الله خير

تم التعديل في بواسطة رفيق هادي مبارك هادي مشعيل

Recommended Posts

  • 0
نشر

تحياتي لك .  
المشكلة تكمن في الترميز الخاص في قاعدة البيانات ،  بحيث انه يخزن النصوص العربية على شكل رموز و هذا هو السبب الرئيسي لفشل عملية البحث  ،  استخدم دائما الترمز utf8_unicode_ci فبهذا الترميز تستطيع التعرف على كل اللغات (عريبة،  هندية ، صينية .. الخ  )

  • 0
نشر
بتاريخ 3 ساعات قال Nabil Tayeh:

عليكم السلام
ما هي لغة البرمجة؟

واجهتني المشكلة وانا انشئ صفحات انترنت باستخدام تقنية asp.net  C#

بتاريخ 1 ساعة قال ماجد قطوسة:

تحياتي لك .  
المشكلة تكمن في الترميز الخاص في قاعدة البيانات ،  بحيث انه يخزن النصوص العربية على شكل رموز و هذا هو السبب الرئيسي لفشل عملية البحث  ،  استخدم دائما الترمز utf8_unicode_ci فبهذا الترميز تستطيع التعرف على كل اللغات (عريبة،  هندية ، صينية .. الخ  )

هلا فيك اخي

 

عندما اقوم بعرض البيانات كامل فانه يتم عرضها كامل  عربي او انجليزي بدون اي مشاكل

ولكن المشكلة عندما اعمل بحث عن اسم لعرض كامل بياناته

مثلا: 

لدي في قاعدة البيانات في عمود الاسماء

رفيق هادي 

و

saleh ahmd

--------------

فعندما اقوم بعرض الكل يتم العرض بدون اي مشاكل

ولكن عندما اريد عرض بيانات

رفيق هادي

فاقوم بكتابة رفيق هادي في textbox والضغط على زر عرض الذي ينفذ امر الاستعلام بشرط ان يكون عمود الاسماء يساوي النص الذي بداخل textbox

فانه يعرض ما مفاده ان هذا الاسم غير موجود

 

ولكن عندما اكتب saleh ahmd

فانه يعرض بياناته بدون مشاكل

 

 

  • 0
نشر
بتاريخ 9 دقائق مضت قال ماجد قطوسة:

قم بتضمين النص المراد البحث عنه بـ % كما في المثال المدرج  أدناه 


SELECT *
FROM 'tableName'
WHERE name LIKE '%name%'


 

لم تنحل المشكلة

لا زالت المشكلة كما هي

  • 1
نشر

عزيزي ،  تبين انه  يجب عليك استخدام nvarchar للبيانات من نوع unicode - utf8 " أي اللغة العربية و ما يشبهها " و قم بإضافة حرف N قبل النص المراد  البحث  عنه  كما يلي 

select * from tableName where name=N'نص باللغة العربية'

قم بتغير أحد الحقول في جدولك الى صيغة nvarchar و قم بتجربة البحث عنه . 

  • 0
نشر
بتاريخ 2 ساعات قال ماجد قطوسة:

عزيزي ،  تبين انه  يجب عليك استخدام nvarchar للبيانات من نوع unicode - utf8 " أي اللغة العربية و ما يشبهها " و قم بإضافة حرف N قبل النص المراد  البحث  عنه  كما يلي 


select * from tableName where name=N'نص باللغة العربية'

قم بتغير أحد الحقول في جدولك الى صيغة nvarchar و قم بتجربة البحث عنه . 

مشكووور اخي ماجد وجزاك الله خير

 

تم حل المشكلة بنجاح

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...