PDA

View Full Version : انتخاب دو زبان پیش فرض برای sql server



saeid1389
جمعه 28 مرداد 1390, 20:21 عصر
با سلام به دوستان عزیز
من یه دیتا بیس طراحی کردم که می خوام اونو با sql server 2008 پیاده سازی کنم.
این دیتا بیس باید بتونه دو زبان فارسی و عربی رو ساپورت کنه.
با توجه به تفاوتی که بین زبان فارسی و عربی وجو د داره، آیا می شه هر دو زبان رو به صورت پیش فرض برای sql انتخاب کرد( مثلا در collection آیتمی باشه که هر دو رو انتخاب کنه)

یوسف زالی
شنبه 29 مرداد 1390, 00:59 صبح
سلام.
اونوقت از کجا تشخیص بده که فارسی ذخیره کنه یا نه؟
از نوع NVarChar استفاده کنید زودتر به نتیجه می رسید.

saeid1389
شنبه 29 مرداد 1390, 04:20 صبح
یعنی باید در collection زبان فارسی رو انتخاب کنم و برای مقادیر عربی فیلد های از نوع nvarchar استفاده بشه ?

از اونجایی که دیتابیس حدود 25 گیگ می شه اگه از نوع nvarchar استفاده کنم، حجم اون به 50 گیگ می رسه، و این خیلی زیاده:متعجب:

اگه کسی راهی به ذهنش می رسه لطفا مطرح کنه

saeid1389
شنبه 29 مرداد 1390, 17:02 عصر
بعد از کلی جستجو تو سایت خودمون و سایت های دیگه - اعم از خارجه و داخله - به نتیجه زیر رسیدم:

اگه بخوایم sql دو زبان فارسی و عربی رو ساپورت کنه می تونیم از codepage 1256 (http://en.wikipedia.org/wiki/Windows-1256) استفاده کنیم . این کدپیج شامل حروف عربی + گ چ ژ پ - تنها تفاوت الفبای فارسی با عربی- و ... می شه.
حالا سوالی که ممکنه مطرح بشه اینه که : برای انتخاب این کدپیج در sql کدام آیتم collection رو تو sql انتخاب کنیم؟

اگه کوئری زیر رو تو sql اجرا کنید به جواب می رسید:


select *, COLLATIONPROPERTY(name, 'codepage') from fn_helpcollations()
where COLLATIONPROPERTY(name, 'codepage') = 1256

یوسف زالی
شنبه 29 مرداد 1390, 21:30 عصر
من از 1256 CI استفاده می کنم.
راضی ام

reza_edu
شنبه 29 مرداد 1390, 22:30 عصر
سلام شايد دير اين تاپيك رو ديدم اما يه سوال برام پيش اومد اونم اينه كه چرا هر دوتا ؟ خوب ميشه فقط فارسي رو ساپورت كرد كه با اين كار هردو زبان رو شامل ميشه فقط كافيع يه sp بنويسي كه اگه عربي هم فرستاده شد{از سمت برنامه} به فارسي تبديل بشه.

saeid1389
شنبه 29 مرداد 1390, 23:07 عصر
از پیگیری دوستان ممنون هستم


سلام شايد دير اين تاپيك رو ديدم اما يه سوال برام پيش اومد اونم اينه كه چرا هر دوتا ؟ خوب ميشه فقط فارسي رو ساپورت كرد كه با اين كار هردو زبان رو شامل ميشه فقط كافيع يه sp بنويسي كه اگه عربي هم فرستاده شد{از سمت برنامه} به فارسي تبديل بشه.

تفاوتی که در بالا به اون اشاره شد- که الفبای فارسی 4 حرف بیشتر داره: گ چ ژ پ - درباره ی حروفه، اما زبان عربی یه سری حرکات داره که تو فارسی نداریم مثل : ة (تای تأنیث)، تنوین (نصب، جر وفتح) و ... که هر کدوم یک کاراکتر هستند.
ضمنا بعضی از حروف و اعداد هم در عربی با فارسی متفاوته، مثل: ی(فارسی) و ي(عربی)(shift + X) ، از اعداد هم می شه به 4 و 6 اشاره کرد.