踩坑:
在使用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");
修改后查询结果如下所示:
问题解决。记录解决过程。