PDA

View Full Version : نمایش ندادن درست کاراکتر وقتی از بانک my sql استفاده شود



mohammad-gh
شنبه 20 فروردین 1390, 12:59 عصر
با سلام
چندی پیش با تلاش بسیار موفق شدم به صورت صحیح کارکترها رو به بانک MY sql واقع در روی هاست وارد کنم
با این کدها :





webcon.ConnectionString = "Server='" & iphost.Text & "';Database='" & databasehost.Text & "';Uid='" & userhost.Text & "';Pwd='" & pashost.Text & "';charset=utf8"

Dim cmd As MySqlCommand = New MySqlCommand()
cmd.Connection = webcon
cmd.CommandText = "SET NAMES 'latin1' COLLATE 'latin1_swedish_ci'"
'--------------------- ----------------
Dim objCommandp As MySqlCommand = New MySqlCommand()
objCommandp.CommandText = "INSERT INTO nuke_stories(sid,catid,aid,title,time,hometext,bod ytext,comments,counter,topic,informant,notes,ihome ,alanguage,acomm,haspoll,pollid,score,ratings,rati ng_ip,associated) VALUES('',0,'admin',@titlen,'2011-3-10',@bodyn,'',0,1,0,'admin','',0,'',0,0,0,0,0,0,'' )"
objCommandp.Connection = webcon
objCommandp.Parameters.AddWithValue("@titlen", titlenews.Text.Trim)
objCommandp.Parameters.AddWithValue("@bodyn", bodynews.Text.Trim)
webcon.Open()
cmd.ExecuteNonQuery()
objCommandp.ExecuteNonQuery()
webcon.Close()




اما حالا مشکل جدیدی دارم
همانطور که می بینید کدینگ تیبل من روی mysql ، هاست Latin بود
وقتی می خواهم اطلاعات رو از هاست بخونمو تو یه دیتا گرید بریزم کارکترها رو ذرست نشون نمیده
از دو دستور

set NAMES utf8
هم استفاده کردم
لطفا راهنمایی نمایید
این هم نمونه کدها برای واکشی اطلاعات



Dim cmd1 As MySqlCommand = New MySqlCommand("set NAMES utf8", webcon)
Dim idcountst, st AsInteger
Dim objDatatablest AsNew DataTable
Dim titleutf AsString
objDatatablest.Clear()
MySqlDataAdapter = New MySqlDataAdapter("select * from nuke_stories", webcon)
webcon.Open()
cmd1.ExecuteNonQuery()
MySqlDataAdapter.Fill(objDatatablest)
webcon.Close()

باز هم یادآور میشوم کارهای insert، update و delete درست انجام میشه

mohammad-gh
چهارشنبه 24 فروردین 1390, 17:44 عصر
یعنی کسی نیست راهنمایی کنه؟

alimanam
چهارشنبه 24 فروردین 1390, 21:58 عصر
یعنی کسی نیست راهنمایی کنه؟ یعنی خودتون هم متوجه نشدی کدهایی که گذاشتی در Browser درست نشون داده نمیشه !!!!!! ؟

http://up.iranblog.com/images/xnjyu49doks6in4j8nd.jpg

mohammad-gh
پنج شنبه 25 فروردین 1390, 12:35 عصر
والا ما از این ادیتور سر در نیاوردیم
یه بار درست نشون میده یه بار با سورس کد
به هر حال کدها رو درست کردم

راستی وقتی

cmd.CommandText = "SET NAMES 'UTF8' COLLATE utf_ganeral_ci'"

کردم هم درست شند
یعنی تو بخش ویندوز و نرم افزار درست هست اما تو وب درست نشون نمیده
این هم آدرس صفحه وب : http://fardayeno.org/topstudent.php
تمام کدینگ تیبل و فیلدها هم utf_ganeral_ci' هست

alimanam
پنج شنبه 25 فروردین 1390, 13:59 عصر
با سلام

شما کدهای زیر رو تست کن ببین بازم جواب نمیگیری ؟ ( به نظرم اول اطلاعات کل تیبل رو پاک کن و دوباره با این کد Insert کن )

webcon.ConnectionString = "Server='" & iphost.Text & "';Database='" & databasehost.Text & "';Uid='" & userhost.Text & "';Pwd='" & pashost.Text & "';charset=utf8"
webcon.Open()
Dim cmd As MySqlCommand = New MySqlCommand()
cmd.Connection = webcon
cmd.CommandText = "SET NAMES 'utf8' COLLATE 'utf_ganeral_ci'"
cmd.ExecuteNonQuery()
'--------------------- ----------------
Dim objCommandp As MySqlCommand = New MySqlCommand()
objCommandp.CommandText = "INSERT INTO nuke_stories(sid,catid,aid,title,time,hometext,bod ytext,comments,counter,topic,informant,notes,ihome ,alanguage,acomm,haspoll,pollid,score,ratings,rati ng_ip,associated) VALUES('',0,'admin',@titlen,'2011-3-10',@bodyn,'',0,1,0,'admin','',0,'',0,0,0,0,0,0,'' )"
objCommandp.Connection = webcon
objCommandp.Parameters.AddWithValue("@titlen", titlenews.Text.Trim)
objCommandp.Parameters.AddWithValue("@bodyn", bodynews.Text.Trim)
objCommandp.ExecuteNonQuery()
webcon.Close()

موفق باشید ./

mohammad-gh
جمعه 26 فروردین 1390, 20:30 عصر
سلام وممنون
ولی هر بلایی سر کدها و خودم اوردم نشد که نشد
نمی دونم این رو ولی،‌اینکه تو طرف وب اطلاعات رو تو بانک به صورت فارسی ذخیره می کنه و نشون میده ایراد نداره
این جا رو ببینید
توبانک my sql اطلاعات رو میشه به فارسی دید
68783
نمیشه کاری کرد که اطلاعاتی که به صورت utf فرستاده نمیشن رو تو طرف ویندوز تبدیل کرد به فارسی
چون اون وقت اطلاعات تو صفحه وب درست نشون داده میشه

mohammad-gh
جمعه 26 فروردین 1390, 20:45 عصر
با سلام و تشکر از دوستان
مشکلم تو طرف وب حل شد با این کد که بعد از کانکت نوشتم


mysql_query("SET NAMES 'utf8'", $link);
باز هم ممنون

@AM!R!
شنبه 27 فروردین 1390, 10:59 صبح
شما این دو دستور رو با هم استفاده کن


SET NAMES 'utf8'
SET CHARACTER SET utf8