C#读写MySQL中文乱码问题

在使用C#操作MySQL数据库时遇到SQL语句执行错误,初步怀疑是编码问题。通过检查发现,数据导入、数据库设置和C#连接字符串都涉及编码。在C#的MySQL连接字符串中增加`Charset=utf8`参数后,问题得到解决,确保了查询的正常运行。
摘要由CSDN通过智能技术生成

踩坑:
在使用C#对MySQL数据库进行读取和写入操作时,会出现SQL语句报错、无法操作的现象,如下图所示:
在这里插入图片描述

然而直接使用数据库查询,
在这里插入图片描述

则能够得到正确的查询结果:
在这里插入图片描述

所以初步怀疑是C#中编码问题导致的乱码。存在编码的地方有三处分别如下:
1、 由Excel导入数据库时,需要设定编码方式,为“UTF8”;
在这里插入图片描述

2、 数据库设置编码格式为“UTF8”;
在这里插入图片描述

3、 C#中未设置编码格式;
由此,初步怀疑是C#的默认编码格式不是“UTF8”,所以对原先的语句:

MySqlConnection mysqlconn = new MySqlConnection("server=localhost;port=3306;user=root;Password=123456;database=account;persist security info=False ");


增加Charset=utf8,更改为:

MySqlConnection mysqlconn = new MySqlConnection("server=localhost;port=3306;user=root;Password=123456;database=account;persist security info=False;Charset=utf8");

修改后查询结果如下所示:
在这里插入图片描述

问题解决。记录解决过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值