C#读取mysql数据库问题

chengzq 2009-10-10 12:49:18
我使用C#连接mysql数据库读取其中的数据,
读取数据表中的Varchar类型的数据,如果是英文能够正常读取出来,
而如果是中文,就会显示为“??”,


如果把varchar类型换成binary类型,Asp.net程序能够正常显示数据库中的中文字符,
而winform程序绑定数据时,显示参数异常,
我怀疑是mysql数据库的字符编码问题,我的mysql数据库默认字符集设置的是gbk.

请教各位CSDN的朋友,有什么解决办法吗?
...全文
355 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevinlzfei123 2011-07-25
  • 打赏
  • 举报
回复
dddd
chengzq 2009-10-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lsj_zrp 的回复:]
试试在连接字符串里面添加一个charset="gb2312"
[/Quote]
color=#3366FF]能具体一点吗?[[/color]
chengzq 2009-10-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fengying0529 的回复:]
http://blog.csdn.net/fengying0529/archive/2009/08/12/4436998.aspx
这个应该可以解决你的问题
[/Quote]

这个方法我也试过了,好像还是不行呀!
chengzq 2009-10-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhoufoxcn 的回复:]
将MySQL的编码设置为utf8就没有问题了,因为ASP.NET的默认编码也是utf8。
要不就在web.config中将ASP.NET的编码设置为gbk,MySQL的编码保持gbk不变。
上面的做法是解决乱码的简单方法。
同样也可以数据库仍然采用gbk编码,ASP.NET也采用utf8编码,不过在编码处理时会复杂一些。
[/Quote]
如果把mysql的编码设置为utf8在向表中插入中文数据时,就会直接报错,
如果设置Asp.net的编码为gbk,读取中文数据时,还是显示不正确的。
lsj_zrp 2009-10-10
  • 打赏
  • 举报
回复
试试在连接字符串里面添加一个charset="gb2312"
laokaizzz 2009-10-10
  • 打赏
  • 举报
回复
顶二楼
yangjian0830 2009-10-10
  • 打赏
  • 举报
回复
二楼正解...
fengying0529 2009-10-10
  • 打赏
  • 举报
回复
http://blog.csdn.net/fengying0529/archive/2009/08/12/4436998.aspx
这个应该可以解决你的问题
周公 2009-10-10
  • 打赏
  • 举报
回复
将MySQL的编码设置为utf8就没有问题了,因为ASP.NET的默认编码也是utf8。
要不就在web.config中将ASP.NET的编码设置为gbk,MySQL的编码保持gbk不变。
上面的做法是解决乱码的简单方法。
同样也可以数据库仍然采用gbk编码,ASP.NET也采用utf8编码,不过在编码处理时会复杂一些。

110,535

社区成员

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

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

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