PDA

View Full Version : سوال: مشکل فارسی نویسی در SQL SERVER



yasser_khaksari
شنبه 22 خرداد 1389, 11:44 صبح
با سلام
من در sql server می تونم فارسی بنویسم ولی وقتی با C# اطلاعات رو وارد می کنم علامت ؟ می زنه
لطفا کمک کنید
واجبه

donya100
شنبه 22 خرداد 1389, 12:19 عصر
از چه نوعی استفاده کردین ؟

mohsenm66
شنبه 22 خرداد 1389, 12:40 عصر
بايد اطلاعات را به صورت unicode ذخيره كني .
آيا اين كار را كردي ؟

yasser_khaksari
شنبه 22 خرداد 1389, 22:22 عصر
سلام
از نوع Nvarchar استفاده کرده ام
لطفا کمک کنید
خیلی واجبه

mohsen.nsb44
یک شنبه 23 خرداد 1389, 09:31 صبح
با سلام
من در sql server می تونم فارسی بنویسم ولی وقتی با C#‎ اطلاعات رو وارد می کنم علامت ؟ می زنه
لطفا کمک کنید
واجبه
سلام دوست عزيز من هم اين مشكلو قبلا داشتم اما با كلمه N اين مشكل حل ميشه به عنوان مثال برايد درج يك ركورد بايد اينچنين عمل كرد


sqldatasource1.insertcomman="insert into tableName(name) values(N'"+textbox1.text+"')";
sqldatasource1.insert()

online_mansoor2007
سه شنبه 15 تیر 1389, 10:47 صبح
سلام دوست عزيز من هم اين مشكلو قبلا داشتم اما با كلمه N اين مشكل حل ميشه به عنوان مثال برايد درج يك ركورد بايد اينچنين عمل كرد


sqldatasource1.insertcomman="insert into tableName(name) values(N'"+textbox1.text+"')";
sqldatasource1.insert()



سلام به همه دوستان

من هم دقیقاً همین مشکل رو داشتم که ب راهنمایی دوست عزیزمون طبق نوشته بالا حل شد . اما برای جای سوال هست که این N چه فلسفه ای داره ؟؟؟؟؟!!!

ممنون از توجهتون

nimvar
جمعه 16 مهر 1389, 22:25 عصر
فلسفه n که اولش میاد اینه که از اول کلمه nationality میاد که یعنی زبان های دیگه رو پشتیبانی می کنه

بهزادصادقی
شنبه 17 مهر 1389, 00:41 صبح
سلام به همه دوستان

من هم دقیقاً همین مشکل رو داشتم که ب راهنمایی دوست عزیزمون طبق نوشته بالا حل شد . اما برای جای سوال هست که این N چه فلسفه ای داره ؟؟؟؟؟!!!

ممنون از توجهتون

N مخفف National می باشد. یعنی ملی. یا، به عبارت دیگر، unicode. می دانید که یک رشته از نوع varchar فقط کاراکترهای ASCII را پذیرا می باشد (مگر اینکه ما با code page های Windows بازی کنیم.) ولی یک رشته از نوع nvarchar کارکترهای unicode را پذیرا می باشد. آن n که اول nvarchar می آید یعنی نوع این رشته unicode است. حال، اگر شما یک رشته literal داشته باشید، مثل این: 'This is a string' آن وقت SQL Server آن را به عنوان یک رشته ASCII می بیند. ولی اگر آن N را سمت چپ رشته بگذارید، آن رشته را به عنوان یک رشته از نوع کاراکترهای unicode حساب می کند.