PDA

View Full Version : مشکل در فارسی کردن اعداد در پایگاه داده Sql server 2005



zimzim
چهارشنبه 13 بهمن 1389, 14:58 عصر
با سلام خدمت دوستان عزیز

من چه جوری می تونم در Sql server 2005 اعداد رو در یک فیلدی که از نوع varchar هستش به صورت فارسی وارد کنم ؟ اصلا چنین امکانی وجود دارد یا خیر ؟ اگر امکانش هست لطفا منو راهنمایی کنید .
با تشکر

Reza_Yarahmadi
چهارشنبه 13 بهمن 1389, 22:23 عصر
توی فیلد nvarchar میتونید اعداد فارسی داشته باشید نه varchar
میتونید تابعی بنویسید که کارش تغییر کدینگ کاراکترها باشه
مثال زیر میتونه کمکتون کنه

Declare @Str nvarchar(max)
Set @Str = '1234567890'
Set @Str = Replace(
Replace(
Replace(
Replace(
Replace(
Replace(
Replace(
Replace(
Replace(
Replace(@Str, NChar(0x30),NChar(0x0660))
, NChar(0x31),NChar(0x0661))
, NChar(0x32),NChar(0x0662))
, NChar(0x33),NChar(0x0663))
, NChar(0x34),NChar(0x0664))
, NChar(0x35),NChar(0x0665))
, NChar(0x36),NChar(0x0666))
, NChar(0x37),NChar(0x0667))
, NChar(0x38),NChar(0x0668))
, NChar(0x39),NChar(0x0669))
Select @Str

JavanSoft
چهارشنبه 13 بهمن 1389, 23:02 عصر
از روي كنجكاوي مي پرسم : فارسي كردن اعدا چه سودي برايتان خواهد داشت؟

zimzim
پنج شنبه 14 بهمن 1389, 11:00 صبح
میتونید تابعی بنویسید که کارش تغییر کدینگ کاراکترها باشه

روش آسان تری سراغ ندارید ؟ این روش یک مقدار پیچیده وسخت است . واگر ممکن است کمی درمورد این کدینگ ها برایم توضیح دهید.
ممنون


از روي كنجكاوي مي پرسم : فارسي كردن اعدا چه سودي برايتان خواهد داشت؟

واضح است برای خوانایی بهتر ودر واقع User friendly تر بودن .

Reza_Yarahmadi
پنج شنبه 14 بهمن 1389, 13:35 عصر
روش آسان تری سراغ ندارید ؟ این روش یک مقدار پیچیده وسخت است . واگر ممکن است کمی درمورد این کدینگ ها برایم توضیح دهید. شما یا باید در سمت برنامه کاربر رو مجبور به وارد کردن کاراکترهای فارسی کنید یا در سمت دیتابیس. کدینگها هم چیز خاصی نیستند هر کاراکتر یک کد عددی داره توی دستور میاد اعداد انگلیسی رو (بر اساس کد اونها) به کاراکترهای فارسی تبدیل میکنه.
در کل راهی بجز تغییر کدینگ وجود نداره. البته با تغییر تنظیمات Regional هم میتونید این کار رو انجام بدید ولی این کار توصیه نمیشه چون هم در بعضی ازقسمتها این کار جواب نمیده هم باعث دخالت در تنظیمات کاربر میشید.

JavanSoft
پنج شنبه 14 بهمن 1389, 13:42 عصر
2 نكته را طبق تجربه عرض ميكنم
1- در مورد تغير كد هاي اعداد در خود بانك با احتياط عمل كنيد . ممكن است بسياري از عمليات روي اعداد را دچار مشكل كنيد .
2- در مورد نمايش اعداد در برنامه سعي كنيد از تغير فونت استفاده كنيد تا اعداد را فارسي نمايش دهيد