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

مشكلة علامات الأستفهام

مغلق
بدأه محمد الشنقيطي في 29 يونيو 2003 · 7 رد · 6,626 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني الأعزاء قمت بعمل برنامج للشؤون الموظفين على أوراكل (7.3.2.1.1) وانشئت الجداول والنماذج بإستخدام ال nls_lang

ARABIC_UNITED ARAB EMIRATES.AR8MSWIN1256

عندما قمت بحذف الأوراكل من الجهاز وإعادة تنزيله مرة اخرى قابلتني مشكلة انه كلما اقوم بعمل select من أي جدول تظهر لي الحروف العربية بعلامات إستفهام ؟؟؟؟ فمــــا سبب هذه المشكلة مع العلم انني قمت بعمل نفس الأعددات السابقة و ان اللغة في النماذج لم تتغير ارجوا المساعدو وجزاكم الله خيرا :'(:'((clock)

#2

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

ايه رأيك تحاول استخدام

AMERICAN_AMERICA.AR8MSWIN1256

هذا ما أستخدمه حاليا ولا أعرف اذا كان حينفع معاك ولا لأ على كل حال حاول

محمد

#3

انا على راي الاخ mohd_sayed_moh

وهذا الذي استعمله

جرب ومش حا تخسر حاجة

#4

السلام عليكم

أخي محمد الشنقيطي

انا لم استخدم Oracle 7 من قبل

الحل الذي سأكتبه جربته على Oracle 8i وأرجو ان تتطابق الاوامر

على كل حال

ادخل على SQL Plus بالمستخدم sys/Password

اكتب الامر التالي

Select * From nls_database_parameters

لاحظ قيم ال parameters التالية ولابد ان تماثل القيم التي كتبتها في رسالتك الاولى

NLS_LANGUAGE NLS_TERRITORY NLS_CHARACTERSET

ARABIC UNITED ARAB EMIRATES AR8MSWIN1256

اذا كانت متطابقة

فالاحتمال القائم ان يكون Regester Key.NLS_Lang قد تغير

اذا كان هذا ما حصل فقم بتعديله ليطابق القيم الموجودة اعلاه

وتذكر ان هذا ال Regester key موجود في اكثر من مكان لابد من تغييرهم جميعا

ابو قصي

#5

السلام عليكم

أخواني جزاكم الله خيرا على هذه الردود وان شاء الله اجرب جميع الحلول وارد عليكم بالنتيجة ;)

تحياتي للجميع

#6

السلام عليكم

أخي Abo_Qosa شكرا على الرد ، لما نفذت ال select السابقة كانت النتيجة هي :

SQL>  Select * From nls_database_parameters
  2   ;

PARAMETER                      VALUE
------------------------------ ------------------------------
NLS_LANGUAGE                   AMERICAN
NLS_TERRITORY                  AMERICA
NLS_CURRENCY                   $
NLS_ISO_CURRENCY               AMERICA
NLS_NUMERIC_CHARACTERS         .,
NLS_DATE_FORMAT                DD-MON-YY
NLS_DATE_LANGUAGE              AMERICAN
NLS_CHARACTERSET               AR8MSWIN1256
NLS_SORT                       BINARY
NLS_CALENDAR                   GREGORIAN
NLS_RDBMS_VERSION              7.3.2.1.0

وكما تلاحظ ان ال nls lang هو AMERICAN وعند دخولي على الريجستري اجد قيمة ال nls_lang هي ARABIC_UNITED ARAB EMIRATES.AR8MSWIN1256فماهي المشكلة في رئيك (ماهي الخطوات) لتغيير القيم السابقة وشكرا لك ولجميع الأخوة .(clock)(clock)

#7

السلام عليكم

اخي محمد الشنقيطي

ارجو ان استطيع ان اوصل لك الفكرة

اولا للعلم: ال register key NLS_Lang يتكون من مقاطع وهي على سبيل المثال

AMERICAN_AMERICA.AR8MSWIN1256

بحيث ان

AMERICAN is the Value of Parameter NLS_LANGUAGE From Select Statment you are executed

AMERICA is the value of Parameter NLS_TERRITORY From Select Statment you are executed

and AR8MSWIN1256 is the Value of Parameter NLS_CHARACTERSET From Select Statment you are executed

اذا بما انك نفذت جملة ال Select فلا بد ان يكون ال Register key.NLS_Lang

يطابق في مقاطعه (اذا صح لي التعبير) القيم الموجودة في جملة ال Select

واذا لم تتطابق فبامكانك ان تغير قيمة ال Register Key

هناك احتمالين:

الاول انه بعد ما تغير قيمة ال Register key تحل المشكلة ان شاء الله

الثاني اذا لم تحل عليك ان تنشئ DB جديدة بحيث تختار

CHAR SET AND NCHAR SET is AR8MSWIN1256

ارجو اني استطعت ان اوصل الفكرة بالشكل الصحيح

أبو قصي

#8

السلام عليكم

أخي أبو قصي جزاك الله خيرا على مساعدتك القيمة ، قمت ببناء قاعدة بيانات جديدة ونحلت المشكلة شكرا لك ولكل الأخوان (f)(f)(f)

تحياتي للجميع

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

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