C#连接Mysql查询乱码

最近在小组内接到一个任务, 让我把mysql数据库从Windows上迁移到ubuntu上. 安装过程没有问题, 可是在使用时发现, 使用Workbench等专业客户端登录时正常, 可是执行我们小组的C#代码发现含有中文的SQL语句乱码了. 由于我们的C#代码之前运行是没有问题的, 所以我以为代码是正确的, 一定是我Mysql的配置问题, 所以走了一些弯路.

1\  为了寻找问题的所在, 我首先打开了Mysql的 general-log:

编辑 /etc/mysql/my.cnf, 将下面两行的注释去掉.

general_log_file        = /var/log/mysql/mysql.log
general_log             = 1

2\   查看 /var/log/mysql/mysql.log, 发现C#的查询传到mysql时已经是乱码了,这时我才意识到是代码的问题

3\   在C#的连接数据库的语句后面加上Charset=utf8, 即

"server=192.168.1.26;uid=unity;pwd=123;database=test;Charset=utf8"

4\   问题解决, 但要注意, 此时在C#中查询直接查就可以, 千万不要再次 进行 set names utf8, 运行了set names utf8之后就又乱码了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值