MySql数据库已经完全改为UTF8了,在phpMyAdmin及MySql-Front中都可以正确显示及插入。但在C#中读取数据时就出现了乱码。
在查看了网上的文章后,说加了"set names utf8"或"set name gb2312"就可以,但因为我的表中有varchar及longtext字段,结果发现当用"set names utf8"时,varchar的字段乱码。相反,用"set names gb2312"时longtext字段内容乱码。
搞了半天,无任何突破。改用MySQL Connector .net,什么都没有加,一切正常了。
初步看了一下MySQLDriverCS的源码,看来是读取char及varchar字段时只是简单的读取内容,而没有按encoding设置,所以返回的数据会乱码。