PDA

View Full Version : سوال: مشکل با زبان فارسی (تکراری نیست)



roomezonline
یک شنبه 10 مرداد 1389, 13:10 عصر
سلام دوستان
بخدا من از بس سرچ کردم خسته شدم
تمام اون کارهایی رو هم که دوستان گفتم انجام دادم مثل Save As ( UTF و ....
اما باز یک مشکل کوچولو مونده

من از بانک SQL server فیلد نام و نام خانوادگی رو فراخونی میکنم ولی وقتی توی label یا texbox نمایش میدم . قاطی میاد . تمام فارسی صفحه درست هست . فقط اطلاعاتی که از بانک خونده میشه اینطور میشه . اول فیلد های بانک n داره . بخدا کلافه شدم دیگه نمیدونم چیکار کنم . یک عکس از خطا مورد نظر گذاشتم
کمک کمک

alisebt
یک شنبه 10 مرداد 1389, 13:39 عصر
توی بانک فیلدهاتون درست پر میشن؟ چک کردین؟

javad.nic63
یک شنبه 10 مرداد 1389, 15:56 عصر
مطمئني كه نوع فيلدهاي متنيت nvarchar يا nchar هستش؟
شايد هم از مرورگرت باشه. شايد utf-8 تنظيم نشده باشه؟ يه نگاه بكن.

roomezonline
یک شنبه 10 مرداد 1389, 16:06 عصر
توی بانک فیلدهاتون درست پر میشن؟ چک کردین؟

بله مطمئن هستم برای اطمینان شما هم یک عکس از اطلاعات بانکم میزارم
بخدا دیگه نمدونم چه کنم . دوستان . استادان کمکممممممکککک

roomezonline
یک شنبه 10 مرداد 1389, 16:10 عصر
مطمئني كه نوع فيلدهاي متنيت nvarchar يا nchar هستش؟
شايد هم از مرورگرت باشه. شايد utf-8 تنظيم نشده باشه؟ يه نگاه بكن.

بله مروگرم هم روی utf8 هست . یه عکس ضمیمه میکنم که نشون دهنده نوع فیلدهای بانکم است

roomezonline
یک شنبه 10 مرداد 1389, 17:52 عصر
واقعا توی این سایت به این بزرگی کسی نیست جواب من رو بده

man of rebellious being
یک شنبه 10 مرداد 1389, 19:04 عصر
سلام برای شروع


text mode کنترل مورد نظر را multiple کنید

اگر حل نشد توضیح دهید ایا بزای ذخیره اطلاعات از صفحه manager استفاده میکنید؟

blackcats
یک شنبه 10 مرداد 1389, 22:23 عصر
آیا با مرورگر های مختلف یا روی یک سیستم دیگه تست کردی.

roomezonline
یک شنبه 10 مرداد 1389, 23:38 عصر
آیا با مرورگر های مختلف یا روی یک سیستم دیگه تست کردی.
بله با مرورگرهای مختلف تست کردم
opera - firfox - ie
نمیدونم چیکار کنم

مهدی کرامتی
دوشنبه 11 مرداد 1389, 01:14 صبح
بهترین راه دریافت کمک اینه که یک بک آپ از بانک اطلاعاتی حاوی جدول فوق و یک نمونه صفحه ای که مشکل داره را در قالب یک پروژه ASP.NET Web Application اینجا ضمیمه کنید تا بررسی شود.

Mostafa_Dindar
دوشنبه 11 مرداد 1389, 01:55 صبح
بله مروگرم هم روی utf8 هست . یه عکس ضمیمه میکنم که نشون دهنده نوع فیلدهای بانکم است
هیچ ارتباطی با مروگر ندارد .
مشکل از DataType شماست , شما باید nvarchar یا nchar انتخاب کنی . عکسی که شما ضمیمه کردی به هیچ وجه بیانگر DataType ستون شما نیست .

روی جدول راست کلیک کنید و گزینه Modify رو بزنید , اونجا باید فیلد مورد نظر nvarchar یا nchar انتخاب کنید و یا عکسی از اون رو اینجا بزارید .


موفق باشید

hlikehamed
دوشنبه 11 مرداد 1389, 01:55 صبح
هر چند شما مطمئنی اما به احتمال خیلی زیاد مشکل به sql مربوط میشه یا نوعش رو بد انتخاب کردی یا بد insert میشه.
اگه بتونی یه نمونه کد کوچولو بزاری خوبه.
اطلاعات رو دستی وارد بانک کردی یا از تو کد insert کردی؟

roomezonline
دوشنبه 11 مرداد 1389, 09:47 صبح
هر چند شما مطمئنی اما به احتمال خیلی زیاد مشکل به sql مربوط میشه یا نوعش رو بد انتخاب کردی یا بد insert میشه.
اگه بتونی یه نمونه کد کوچولو بزاری خوبه.
اطلاعات رو دستی وارد بانک کردی یا از تو کد insert کردی؟

این نمونه کد که برای خواندن اطلاعات و چک کردن استفاده میکنم




Protected Sub BtnLogin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLogin.Click
Dim con As SqlConnection
Dim objCommand As New SqlCommand
con = New SqlConnection(ConfigurationManager.ConnectionStrin gs("WeblogDB").ConnectionString)
Dim str As String
Dim cmd As SqlCommand
str = "SELECT * FROM tbuser WHERE user_id=@user_id And user_pass=@user_pass"
cmd = New SqlCommand(str, con)
cmd.Parameters.AddWithValue("@user_id", txtid.Text)
cmd.Parameters.AddWithValue("@user_pass", txtpass.Text)
Dim dtr As SqlDataReader
Dim DB_Userid As String
Dim DB_Pass As String
Dim DB_name As String
Dim DB_family As String
Using con
con.Open()
dtr = cmd.ExecuteReader()
While dtr.Read()
DB_Userid = dtr("user_id")
DB_Pass = dtr("user_pass")
DB_name = dtr("user_name")
DB_family = dtr("user_family")
End While
End Using
If txtid.Text = DB_Userid And txtpass.Text = DB_Pass Then
If chkReminder.Checked = True Then
Dim mycookie As New HttpCookie("login")
mycookie.Values("user_id") = DB_Userid
mycookie.Values("user_pass") = DB_Pass
mycookie.Values("user_name") = DB_name
mycookie.Values("user_family") = DB_family
mycookie.Values("date") = Date.Now
mycookie.Expires = Date.Now.AddYears(1)
Response.Cookies.Add(mycookie)
lbluser.Text = DB_name
Session("user") = lbluser.Text
Response.Redirect("admin.aspx")
Else
lblMessage.Visible = True
End If
End Sub

man of rebellious being
دوشنبه 11 مرداد 1389, 09:54 صبح
سلام بحث اصلی خواندن نیست چجوری اونا رو ذخیره می کنی

ehsan2007
دوشنبه 11 مرداد 1389, 10:07 صبح
سلام
این کارم انجام بده شاید درست بشه
collation دیتابیس رو عوض کن احتمالا درست بشه

A.S.Roma
دوشنبه 11 مرداد 1389, 11:51 صبح
سلام
این کارم انجام بده شاید درست بشه
collation دیتابیس رو عوض کن احتمالا درست بشه
بله ؛
Collation را روی Arabic_BIN ست کنید. + دیتاتایپ nvarchar

hlikehamed
دوشنبه 11 مرداد 1389, 13:17 عصر
من گفتم کد insert نه get :لبخند:
ربطی به خوندن اطلاعات نداره.

1. یا اطلاعات بد insert میشه
2. data type رو درست انتخاب نکردی.

اگر می تونی از مود design جدولت یه عکس بگیر. (روی جدول کلیک راست Modify )

Mostafa_Dindar
دوشنبه 11 مرداد 1389, 19:48 عصر
در جواب بعضی از دوستان باید بگم Collation هیچ ارتباطی با این مساله ندارد . Collation فقط برای Comparison یا مقایسه هست بعبارتی برای Order By



این نمونه کد که برای خواندن اطلاعات و چک کردن استفاده میکنم




Protected Sub BtnLogin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLogin.Click
Dim con As SqlConnection
Dim objCommand As New SqlCommand
con = New SqlConnection(ConfigurationManager.ConnectionStrin gs("WeblogDB").ConnectionString)
Dim str As String
Dim cmd As SqlCommand
str = "SELECT * FROM tbuser WHERE user_id=@user_id And user_pass=@user_pass"
cmd = New SqlCommand(str, con)
cmd.Parameters.AddWithValue("@user_id", txtid.Text)
cmd.Parameters.AddWithValue("@user_pass", txtpass.Text)
Dim dtr As SqlDataReader
Dim DB_Userid As String
Dim DB_Pass As String
Dim DB_name As String
Dim DB_family As String
Using con
con.Open()
dtr = cmd.ExecuteReader()
While dtr.Read()
DB_Userid = dtr("user_id")
DB_Pass = dtr("user_pass")
DB_name = dtr("user_name")
DB_family = dtr("user_family")
End While
End Using
If txtid.Text = DB_Userid And txtpass.Text = DB_Pass Then
If chkReminder.Checked = True Then
Dim mycookie As New HttpCookie("login")
mycookie.Values("user_id") = DB_Userid
mycookie.Values("user_pass") = DB_Pass
mycookie.Values("user_name") = DB_name
mycookie.Values("user_family") = DB_family
mycookie.Values("date") = Date.Now
mycookie.Expires = Date.Now.AddYears(1)
Response.Cookies.Add(mycookie)
lbluser.Text = DB_name
Session("user") = lbluser.Text
Response.Redirect("admin.aspx")
Else
lblMessage.Visible = True
End If
End Sub


حداقل جواب سوالی که در پست 11 نوشتم رو میدادی . رفتارهای مشابه به این , پاسخ دهنده رو دلسرد میکنه .

لطفا جواب پست 11 من رو بده .

موفق باشی

Pascal
چهارشنبه 13 مرداد 1389, 19:30 عصر
آیا ویرایشگر کد که از آن استفاده می کنید از encoding utf-8 پشتیبانی می کند ؟
صفحات مربوط به کد ها (برای اطمینان همه ی فایل ها ) را با Notepad باز کنید و با استفاده از encoding utf-8 فایل ها را ذخیره کنید.

roomezonline
پنج شنبه 14 مرداد 1389, 23:50 عصر
در جواب بعضی از دوستان باید بگم Collation هیچ ارتباطی با این مساله ندارد . Collation فقط برای Comparison یا مقایسه هست بعبارتی برای Order By




حداقل جواب سوالی که در پست 11 نوشتم رو میدادی . رفتارهای مشابه به این , پاسخ دهنده رو دلسرد میکنه .

لطفا جواب پست 11 من رو بده .

موفق باشی

دوست عزیز ببخشید من مسافرا بودم دسترسی به نت نداشتم

تمام دیتا تایپ جدول nvchar هستند
بازم از دوستان متشکرم پیگیر مشکل من هستند

mahdimahdi58
دوشنبه 18 مرداد 1389, 13:37 عصر
سلام رفیق، مشکل فارسی شما از سیستم عاملتونه. زبان سیستم رو چک کنید. تمام تیکها رو فعال کنید.
انشاء الله که حل بشه.