tostring的编码方式,中文成了乱码

瘦马 2014-06-09 05:56:01
情况描述:
一个datagridview
取某一个单元格的数据并存入数据库
我的取值方法是:
DataTable dt = (DataTable)datagridview1.DataSource;
…………
dt.Rows[j][2].ToString()
…………


问题:当此单元格的数据为中文时,用dt.Rows[j][2].ToString()所取得的值是乱码

如何解决?
...全文
1950 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
JackieCai 2014-06-11
  • 打赏
  • 举报
回复
直接selectedrows[0].cells[columnName.name].value 直接当前选中行 不可以吗? 除非数据库里面就乱码,
showjim 2014-06-11
  • 打赏
  • 举报
回复
数据库里面本来就是乱码吧
瘦马 2014-06-11
  • 打赏
  • 举报
回复
再次求助,求助
walkeeper 2014-06-10
  • 打赏
  • 举报
回复
DGV里显示的内容是不是乱码啊? 直接拿DGV的row[i].cells[j].Value 吧
csdn_风中雪狼 2014-06-10
  • 打赏
  • 举报
回复
为什么要转成dt呢, 直接获取单元格的值看看
瘦马 2014-06-10
  • 打赏
  • 举报
回复
引用 8 楼 walkeeper 的回复:
DGV里显示的内容是不是乱码啊? 直接拿DGV的row[i].cells[j].Value 吧
在datagridview内显示的是中文
新旅程 2014-06-10
  • 打赏
  • 举报
回复
引用 5 楼 u011048876 的回复:
我猜你的数据库存的是UTF8的,而C#这边用的UNICODE,编码不一致导致的。
试试转换编码看看,关于编码的具体信息,可以看宽字符,unicode,utf8,不过这个时面涉及到的语言也是C++,但编码是与语言无关的
新旅程 2014-06-10
  • 打赏
  • 举报
回复
我猜你的数据库存的是UTF8的,而C#这边用的UNICODE,编码不一致导致的。
瘦马 2014-06-09
  • 打赏
  • 举报
回复
引用 3 楼 wangnaisheng 的回复:
http://blog.sina.com.cn/s/blog_5a08b1780100awgx.html
这个不行呀,好像不是C#的,而是C++的
瘦马 2014-06-09
  • 打赏
  • 举报
回复
再次求助,求助
md5e 2014-06-09
  • 打赏
  • 举报
回复
一般是不用转成DataTable的,直接获取 dataGridView1.Rows[runRowIndex].Cells[index或name].Value.ToString();

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧