PDA

View Full Version : آموزش: مشکل ذخیره کلمات فارسی در دیتابیس به صورت علامت سوال ؟



mjt10063
سه شنبه 10 اردیبهشت 1392, 16:34 عصر
با سالم و خسته نباشید خدمت اساتید
من واسم این مشکل پیش اومد و کلی گشتم تا تونستم به این نتیجه برسم که اگر موقع ارسال اطلاعات یک N به کدمون اضافه کنیم همه چی حل میشه

Insert into MyTable (Name) values(N'مقدار')

حالا یه سوال هم خودم دارم
اساتیدی که میدونند جواب بدن
این N چی هست ؟ و چه کار میکنه ؟

خیلی دوست دارم بدونم
ممنون:چشمک:

khayyams.votary
سه شنبه 10 اردیبهشت 1392, 17:09 عصر
سلام دوست عزیز
خیلی خوبه که میگین کلی گشتین و جواب رو پیدا کردین چون اکثرا می خوان که فوری به جواب برسن و اگه نشد ول میکنن.
اما در مورد اینکه N چی هست باید بگم بطور ساده این حرف در موقع نوشتن اطلاعات در جدول (اگه SQL باشه) نوع مقدار ورودی رو با نوع تعریف شده در فیلد همخوان میکنه.
یعنی برای اطلاعات فارسی ما در SQL فیلد رو مثلا nvarchar میگیریم و این N باعث درست ثبت شدن مقادیر میشه و از (؟) جلوگیری می کنه.

ahmad156
سه شنبه 10 اردیبهشت 1392, 17:42 عصر
دوست عزیز N از National گرفته شده.
مقاله زیر در این مورد توضیح داده
http://databases.aspfaq.com/general/why-do-some-sql-strings-have-an-n-prefix.html

mrabdollahi
دوشنبه 16 اردیبهشت 1392, 22:32 عصر
خوب اگه ما بخوایم با FCK Editor مقدار رو توی DataBase ثبت کنیم اونوقت
باید چیکار کنیم ؟؟؟؟
منظورم اینه که مقدار FCKeditor.Value رو چطور می تونیم N بهش اضافه کنیم تا بصورت Unicode ذخیره بشه ؟؟
البته توی روش مستقیم بدون لایه :
SqlConnection sc = new SqlConnection();
sc.ConnectionString = "Data Source=208.94.246.102;Initial Catalog=KanoonSiteDb;Persist Security Info=True;User ID=******;Password=******";
SqlCommand scm = new SqlCommand();
scm.CommandText = @"INSERT INTO [KanoonSiteDb].[dbo].[News]
([NewTitle]
,[NewsBody]
,[NewsDateCreated])
VALUES
('" + txtNewsTitle.Text + "','" + FCKeditornews.Value + "','" + txtDate.Text + "')";
scm.CommandTimeout = 15;
scm.Connection = sc;
sc.Open();
scm.ExecuteNonQuery();
sc.Close();

hesamsalehnamadi
دوشنبه 16 اردیبهشت 1392, 22:47 عصر
collation رو به ARABIC_CI_AS تغییر بده . همین طوری هم میتونی ذخیره کنی N نمیخاد