حل مشاكل مشاكل اللغة العربية واي لغة اخري في asp.net
arabic language problems in asp.net ans Sql server
رؤية حول المشكلة
تظهر مشاكل اللغة العربية عند رفع الموقع اونلاين علي الهوست او مستضيف موقعك .او حتي علي السيرفر المحلي عند الاتي
- عندما تقوم بصنع موقع عربي
- تصنع موقع متعدد اللغات ومنها اللغات المعقدة مثل اللغة الصينية او اليابانية ..لا تتعجب فمن الممكن ان تصنع موقع مثل الفايس بوك وعندما يكتب احد المستخدمين من اي دولة بنفس لغته فان الكتابة التي سوف تظهر هي علامات استفهام ..
وتكون بالشكل الاتي علي سبيل المثال
ولكن ما حل مشاكل اللغة العربية عن صنع موقع بتقنية asp.net
ربما جربت الكثير من الطرق مثل تغيير الكوليجين من الداتاباز
change collation in sql server
ربما جربت تغيير نوع الحقل ..او ربما غيرت اوجربت ولكن كل ذلك لم يجدي نفعا ولازالت مشكلة اللغة العربية في الموقع علي شكل علامات استفهام
حل المشكلة : توجد ثلاث خطوات لحل المشكلة
اولا بالنسبة للقيم او النص الذي يأتي من قاعدة البيانات نفسها لابد من الاتي
قبل اي قيمة او نص في جملة الادخال او جملة الاستعلام نضع حرف ال N
مثل :
"INSERT INTO table (Field1) values(N''هشام'')"
Select * from table where name=N'' هشام''
وبالتالي عندما تظهر هذه القيم او النصوص او الكلمات فانها تظهر بشكل طبيعي كما تم ادخالها حتي لو باللغة اليابانية او الهندية او العربية .....
فحرف الان كأنك تقول للموقع اقرأه كما تم ادخاله بالظبط من قبل المستخدم ..لذلك يظهر علي الصفحة بنفس الشكل الذي تم ادخاله في قاعدة البيانات
هذا الشق الخاص بقاعدة البيانات نفسها .
ثانيا بالنسبة للكلمات التي تكون مكتوبة علي الصفحة نفسها في الهتمل Hml page
مثلا عنوان ..او كلام مكتوب في استايل الموقع ..او اي كلام يكتب من خلال الهتمل للصفحة
يتم الاتي وضع الكود للغة في الهيدر للصفحة او صفحة الماستر في وسم
head
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
الخطوة الثالثة والاخيرة والاهم هي حفظ الصفحة بنفس اليونيكود كالاتي
نحن بالطبع نفعل ما سبق او ما سيأتي في صفحة الماسترباج ..حتي تتعم علي كل الصفحات الاخري ..بدلا من انشائها في كل صفحة علي حدة
1- افتح صفحة الماسترباج في وضع السورس او الهتمل للصفحة
ثم اضغط علي الاتي من القائمة العليا في البرنامج
File-->Save Masterpage.Master as
الان سوف تظهر شاشة حفظ الصفحة كالاتي اضغط علي السهم الجانبي بجوار كلمة حفظ
واختر Save with Unicode
الان سوف تظهر رسالة تأكيد تقول ان نفس الملف موجود هل تريد حذف القديم ووضع الملف الجديد بدلا من القديم
بالطبع اضغط نعم اريد ذلك
الان سوف تظهر شاشة الخطوط بالكود المراد وهو
(UTF-8 with signature) codepage 65001
ثم اضغط اوكي ثم حفظ التي بالاسفل
الان ارفع الصفحة علي الانترنت لتظهر بالشكل الاتي بدون رموز او علامات استفهام او مشاكل في اللغة مع موقعك
بعض الملاحظات الاخري
في بعض الاحيان ربما كتبت الكود بشكل عام في الويب كونفيج مثل
<globalization fileEncoding="windows-1256" ......
الان لا حاجة لذلك في الويب كونفيج
فقط قم بتنفيذ الخطوات الثلاث السابقة