الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الحروف العربية تظهر بأشكال غريبة

مغلق
بدأه ابو صالح في 9 ديسمبر 2002 · 10 رد · 9,461 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني الكرام عمد (جمع عمدة);) هذا المنتدى الجميل ،،، كل عام وانتم بخير ولو انها متأخرة ،،،،،،،،،

انتم افحمتو موضوع تحويل اللغة نقاشاً لكن سؤالي هنا اللغة ليس للواجهة ولكن لأدخال البيانات عندما اقوم ادخال بيانات قي الفورم 6 او عندما اقوم بعمل text label بالعربي تظهر لي حروف انجليزية غير مفهومة ، ونفس المشكلة في SQL*Plus ،،،

واخير وليس اخرا هل هناك اي مرجع في الانترنت واو في موقع اوركل يتكلم فيها عن الـ Form Triggers ويشرح وظيفة كل منها

#2

السلام عليكم

بالنسبه لمشكله عدم ظهور الحروف العربيه فهناك حلين :-

1- يجب ان يكون الNLS_LANG للديفلوبر مطابق للموجود في قاعدة البيانات "وليس العكس" ولعمل ذلك :-

" هذا بالنسبه لوكانت قاعدة البيانات 8i و 9i وتم اعداد الديفلوبر قبل قاعدة البيانات"

قم بتشغيل الRegedit واذهب للمجلد التالي :-

HKEY_LOCAL_MACHINESOFTWAREORACLEHOME1

وقم بنسخ قيمه المفتاح NLS_LANG الموجود هناك والتي قد تكون قيمته اما :-

* XXXXXXXXXXXXXXX.WE8ISO8859P1

او

*XXXXXXXXXXXXXXX.AR8MSWIN1256

"يوجد انواع اخري كثيره ولكن الاكثر استخداما هو الذي ذكرتهم في الاعلي والثاني هو الافضل للعربيه"

ثم اذهب الى المفتاح NLS_LANG الثاني والموجود في المجلد التالي :-

HKEY_LOCAL_MACHINESOFTWAREORACLE

اذا كانت قيمته مختلفه عن الاول فقم بالصاق قيمه المفتاح الاول فوقه .

الان قم بانشاء سجل جديد او اضافه اي سجل بالعربي وتاكد من ظهوره بنجاح وبالعربي .

2- اذا كانت لديك قاعدة بيانات قديمه او اخري مثلا 7 او 8 او 8i او 9i وقمت بعمل تصدير جداول او مستخدم منها

ومن ثم قمت بانشاء قاعدة بيانات جديده .... اين كان اصدارها وقمت بعمل إستيراد للبيانات المنقوله

فقد تظهر لك الحروف العربيه كرموز غريبه والسبب هو اختلاف الNLS_LANG

بين قاعدة البيانات القديمه وبين الجديده ... لذلك يجب مراعاه ذلك عند انشاء قاعدة بيانات جديده

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

خصوصا الاصدار 8i او 9i وحيث انها تستغرق وقتا طويلا في الاعداد والتنصيب , فسيكون من الصعب

مسحها واعدادها من جديد .... والحل هو مسح قاعدة البيانات فقط وليس حذف كل شي ومن ثم إنشاء

قاعده بيانات جديده وتحديد الNLS_LANG المطلوب لها وذلك بإستخدام الاداه المسماه

Database Configuration Assistant

وهذه الاداه سهله الاستخدام جدا .... اهم شي هو حذف قاعده البيانات القديمه

" مع انه يمكن انشاء اكثر من قاعدة بيانات والعمل عليهم "

ومن ثم إنشاء قاعدة بيانات جديده وبنفس اسم القديمه لكي يتم الاتصال بين الديفلوبر وقاعده البيانات كالسابق

اي لن تحتاج الى اعاده خطوات الربط بينهم من جديد .

** معلومات مهمه جدا جدا جدا ....

-- لايمكن تغيير الجزء الاول من الNLS_LANG يدويا لقاعدة البيانات ابدا .

-- عند حذف قاعدة البيانات ستمحى كل بياناتك فارجوا اخذ نسخه منها اذا لزم الامر.

******

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

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

فاما يكون عربي ويكون ARABIC_SAUDI ARABIA " يوجد غير ذلك ايضا "

ولكن لن تظهر واجهه التطبيق بالعربي الا اذا تم اختيار اللغه العربيه عند اعداد الاوراكل بالكامل اول مره

او انجليزي ويكون AMERICAN_AMERICA " يوجد غير ذلك ايضا "

ويجب ان لاننسي النقطه بين المقطع الاول والثاني .

والله اعلم

السلام عليكم ورحمه الله وبركاته

(f)(gift)(f)

#3

السلام عليكم اخي صقر البرمجة

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

فشكرا اخي صقر لاضافتك معلومة جديدة لنا و في انتظار مشاركتك معنا بمعلومات اخرى مفيدة باذن الله

(f)(f)(f)

#4

اخي الكريم صقر

قمت بالتأكد من القيم وجعلتها مساويه للتي في قاعدة البيانات ولكن لم تظهر الحروف العربيه الصحيحه في الفورم اوفي SQL*Plus علما باني استخدم قاعدة بيانات 9i ولم اقم بتصدير اي جداول

#5

السلام عليكم اخي ابو صالح

من كلامك ارى انك قمت بتغيير القيم في ال nls_lang يدويا و هذا ما نبهك اخونا صقر الى عدم عمله و الواجب عليك عمله هو

1 - الغاء ال database القديمة

2 - انشاء database جديدة

3 - في اثناء انشاء قاعدة البيانات قم بتغيير نوع الخط المستخدم حتى يتثنى لل database الجديدة ان تنشأه معاها

و ارجو من الله ان يوفقك

المهم الا تمل !! فانا كنت اواجه نفس المشكلة و فعلت ما اقوله لك و الان كله تمام الحمد لله ;)

#6

تشكرات اخي اوركل،،،، فعلا اعتقد انها هذي المشكلة ، فلقد قمت بتغيرها يدويا ثم قمت بأنزل فورم جديدة بجانب السابقة وقمت بتعديلها ،،، (لخبطيشن) ، وأعتقد انه يجب ان اقوم بأنزال الداتابيز مرة اخرى كما قلت،،، ولكن هل يجب ان اعمل Format للجهاز مرة اخرى ثم اقوم بتنزيلها من جديد ام يمكنني تنزيلها بجانب الداتابيز القديمة؟

#7

السلام عليكم

اخي ابو صالح مش رط ان تقوم بعمل فورمات للجهاز كل ما يجب عليك عمله هو الاتي ان شاء الله

1 - ادخل على DATABASE CONFIGURATION ASSITANT الموجودة في START

2 - بالضغط عليها سيظهر لك 3 اختيارات الاول خاص بانشاء قاعدة بيانات جديدة - الثاني خاص بالتعديل في قاعدة البيانات الموجودة - الثالث خاص بالغاء قاعدة بيانات

3 - اختار الاختيار الثالث سيدخلك الى شاشة بها اسماء ال DATABASE الموجودة

4 - حدد اسم قاعدة البيانات الخاصة بك و قم بعمل DELETE لها

5 - بعد الانتهاء قم باعداد قاعدة البيانات الجديدة من نفس الشاشة و لا تنسى تعديل نوع الخط المستخدم ;) اثناء انشاء القاعدة

6 - و لا تنسى ان تكون قاعدة البيانات الجديدة بنفس اسم القاعدة القديمة التي قمت بالغائها حتى لا تضطر لعما ربط بين قاعدة البيانات و ال DEVELOPER مرة اخرى

ارجو ان اكون قد استطعت ايصال المعلومة و على الله التوفيق :o

#8

الاخوه الافاضل الكرام سلام الله عليكم ورحمته وبركاته وزادكم علماً

شكراً لكم على هذا المنتدى الرائع ولي استفسار ارجو التكرم بالرد عليه وهو بخصوص دراسة اوركال حيث انني اعمل على برنامج (موديول) يعمل بلغة اوركال وقد حصلت على تدريب على البرامج المصاحبه مثلORACLEDISCOVERER وCLEARACCESS وكذلك استخدم بصوره جيده SQL بصوره جيده في DATA MANIPULATING واستفساري هو هل الحصول على دوره في الديفلوبر يعتبر الخطوه التليه المناسبه

ولكم الشكر الجزيل

#9

الاخ الكريم ابو عبدالله ،،، اقترح اولا ان تقوم بدراسة PL/SQL وتحاول ان تصل الى درجة الاحتراف،لانها مهمة جداً في انشاء الفورم ثم تذهب للفورم العاديه او الابليكيشن سيرفر ،ولا تكل ولا تمل واستمر ،،، ووفقك الله،،،، ولكن الا ترى انه كان يجب عليك وضع هذا الرد في موضوع جديد ;)

#10

السلام عليكم

كيف أعرف الداتا بيز الخاصة بي

لأني محمل البرنامج عند محل

#11

السلام عليكم ورحمة الله وبركاته

الاخوه الافاضل

قمت بتطبيقه وتم التنصيب بالكامل للOracle8i فى xp و

كانت مشكله فى اللغة مع SQL كانت اللغه عربي

وكان الحل كالتالي START ثم RUN نكتب regedit

ثم نبحث عن NLS_LANG

ثم نكتب الكود التالى

AMERICAN_AMERICAN.AR8MSWIN1256

ثم نبحث عن NLS_LANG مره أخى نكتب الكود السابق

ثم نبحث عن NLS_LANG مره ثالثه نكتب الكود السابق

وكانت فى مشكله اخرى لا يتم فتح SQL عن طريق

SCOTT

TIGER

فماذا افعل

هذا الموضوع مغلق.

مواضيع مشابهة