PDA

View Full Version : ذخیره درست مقادیر فارسی در دیتابیس



samanes
دوشنبه 30 بهمن 1385, 16:52 عصر
دوستان سلام من در وارد کردن مقادیر فارسی در دیتابیس در هنگام ثبت نام کاربر به مشکل بر خوردم.
این مشکل رو با host های دیگه و حتی با client خودم ندارم.
وقتی کاربر روی دکمه ثبت نام کلیک می کنه مقادیر فارسی به صورت ؟ ذخیره می شود.
texbox ام right to left است با فونت tahoma
از جاوا اسکریپت هم استفاده کردم که کاربر رو مجبور کنم در اون textbox فارسی وارد کنه و جاوااسکریپتم کد unicode بر میگردونه و مطمنم مشکلی نداره.
صفحه ام به صورت unicode with sigthniture ذخیره کردم.
فیلد های دیتابیسم هم از نوع nvarchar است .

در ضمن از خط کد زیر هم در web.config استفاده کردم



<globalization culture="fa-IR" uiCulture="fa-IR" fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" />


به نظرم تمام استاندارد ها رو رعایت کردم..
از آقای راد و دوستانی که می دونن مشکل من از کجاست و تجربه اش رو داشتن تقاضای کمک دارم.

rtech
دوشنبه 30 بهمن 1385, 17:10 عصر
سلام دوست عزیز
شما باید نوع داده ای ستونی که این اطلاعات را در خود ذخیره میکند را Nvarchar بدهید تا مشکلتان حل شود

samanes
دوشنبه 30 بهمن 1385, 17:22 عصر
مرسی دوست خوبم اینکار رو به اضافه خیلی کارهای‌ دیگه انجام دادم.

همچنان منتظره کمک دوستان هستم

Alireza_Salehi
دوشنبه 30 بهمن 1385, 18:23 عصر
یه کاراکتر N قبل از مقدار در رشته کوئری قرار دهید.مثلا

name=N'متن فارسی'

Behrouz_Rad
سه شنبه 01 اسفند 1385, 14:34 عصر
مشخصه که مقادیر رو به صورت ساده و دستورات SQL رو به صورت Plain Text استفاده می کنی. در این حالت برنامه ی تو مستعد SQL Injection هست! اگر از Stored Procedure استفاده کنی مشکل فوق رو نداری.

در ضمن، اگر از دات نت 2.0 استفاده می کنی، نیاز به قرار دان خطی که در پاراگراف آخر پستت گذاشتی نداری.
در دات نت 2.0، داده ها به طور پیش فرض در قالب UTF-8 رد و بدل میشن.

موفق باشید.

samanes
سه شنبه 01 اسفند 1385, 17:44 عصر
arsp_2004 و آقا بهروز بسیار ممنونم.. مشکلم حل شد.

ar_monti@
سه شنبه 08 خرداد 1386, 13:46 عصر
دوست عزیز بهما هم بگو چکار کردی.
ممنون