PDA

View Full Version : درج در2005



Boo Ali
دوشنبه 24 اردیبهشت 1386, 15:45 عصر
باسلام

من در 2003 حرفه ای اما در 2005 مبتدی هستم و سوالم این است که وقتی در 2005 داده ای در

بانک SQL Server 2000 درج می نمایم ، بصورت ؟ درج می نماید . چرا؟

Microsoft.net
دوشنبه 24 اردیبهشت 1386, 17:03 عصر
باسلام

من در 2003 حرفه ای اما در 2005 مبتدی هستم و سوالم این است که وقتی در 2005 داده ای در

بانک SQL Server 2000 درج می نمایم ، بصورت ؟ درج می نماید . چرا؟

مطمئنی تو 2003 حرفه ای هستی ؟!
تنظیمات control panel قسمت regional & language option چک کن همه روی فارسی باشه بعدشم موقع نصب sql 2000 باید کد پیج رو روی arabic ست کرده باشی اگه تنظیمات ویندوز روی فارسی نباشه کد پیج arabic به صورت دیفالت انتخاب نمی شه...

Boo Ali
چهارشنبه 26 اردیبهشت 1386, 15:15 عصر
با سلام

حتماً از شما با این جواب مبتدیانه حرفه ای تر هستم و مشکل در تنظیم Collation بود.

h_sadeghynejad
چهارشنبه 26 اردیبهشت 1386, 15:20 عصر
میشه یخورده در مورد collation توضیح بدی چون من هم یه جورایی این مشکل رو دارم و با فارسی کردم زبان حل نشد

Microsoft.net
چهارشنبه 26 اردیبهشت 1386, 16:36 عصر
با سلام

حتماً از شما با این جواب مبتدیانه حرفه ای تر هستم و مشکل در تنظیم Collation بود.

خسته نباشی ، اگه با دقت پست من رو میخوندی میدیدی که نوشتم موقع نصب SQL تنظیم کد پیج یا همون Collation رو باید روی Arabic ست کنی ، در ضمن تو حرفه ای بودن شما که شکی نیست چرا ناراحت میشی حالا ...

__H2__
چهارشنبه 26 اردیبهشت 1386, 17:34 عصر
سلام
در دستور Insert خود حتماً اگر به صورت غیر پارامتری است حتماً N را قبل از تک کتیشن ها بیاورید.
('INSERT INTO tablename(column) VALUES (N'text

حتماً فیلدهای مربوطه را از نوع nchar یا nvarchar یا ntext قرار دهید.

Alireza_Salehi
چهارشنبه 26 اردیبهشت 1386, 18:12 عصر
در 2005 (SQL 2005 , دات نت 2005)در صورتی که از یونیکد استفاده کنید هیچ نیازی به استفاده از Collation خاصی یا تنظیم ویندوز و استفاده از N در کوئری و .... وجود ندارد!

در صورت استفاده از SQL2000 و (دات نت 2003 یا 2005) هم اگر برنامه دات نت شما یونیکد ذخیره شده باشد تنها استفاده از N کفایت می کند!

DonetKarvb
چهارشنبه 26 اردیبهشت 1386, 18:47 عصر
در 2005 (SQL 2005 , دات نت 2005)در صورتی که از یونیکد استفاده کنید هیچ نیازی به استفاده از Collation خاصی یا تنظیم ویندوز و استفاده از N در کوئری و .... وجود ندارد!

در صورت استفاده از SQL2000 و (دات نت 2003 یا 2005) هم اگر برنامه دات نت شما یونیکد ذخیره شده باشد تنها استفاده از N کفایت می کند!
مطمئنی؟؟؟؟ شما این حرف رو براساس منبع خاصی میزنید یا رو تجربه؟

در ضمن collationها فقط برای درست نمایش دادن به کار نمیره. بلکه بر روی سورت و مقایسه نیز تاثیر میگذارد.

Microsoft.net
چهارشنبه 26 اردیبهشت 1386, 22:16 عصر
در 2005 (SQL 2005 , دات نت 2005)در صورتی که از یونیکد استفاده کنید هیچ نیازی به استفاده از Collation خاصی یا تنظیم ویندوز و استفاده از N در کوئری و .... وجود ندارد!

در صورت استفاده از SQL2000 و (دات نت 2003 یا 2005) هم اگر برنامه دات نت شما یونیکد ذخیره شده باشد تنها استفاده از N کفایت می کند!

در مورد sql2005 ممکنه حرفت درست باشه چون اطلاعی ندارم ولی در مورد 2000 قطعا حرفت اشتباهه

Alireza_Salehi
پنج شنبه 27 اردیبهشت 1386, 05:40 صبح
بنده موارد استفاده collation رو مطلعم ولی برنامه هایی که نوشتم با همین روش مشکلی نداشتند و حروف فارسی با تمام حالت ها صحیح استفاده می شوند چون استفاده از N یعنی استفاده از یونیکد و در یونیکد برای تمام زبان ها و حروف های داخل آنها مرتب سازی ، مقایسه و ... در نظر گرفته شده!

برای استفاده از یونیکد باید برنامه شما از یونیکد استفاده کند (ذخیره فرم ها و کد ها با UTF-8) ، ارتباطات شما با یونیکد باشد (در sql 2000 استفاده از N) و ذخیره سازی (انواع داده ای که با N شروع می شوند) شما هم یونیکد باشد.