为MySQL Connector Net连接MySQL使用正确的连接字符串

在使用MyODBC或是MySQLDriverCS连接MySQL数据库时,我们只需要输入数据库主机地址、数据库名称、数据库访问账号和数据库的访问密码就可以正常使用了。

但MySQL Connector Net却不是这样。

在使用"host=localhost;database=test;uid=root;pwd=;"这个字符串连接MySQL时,保存到数据库中的中文字符总是变成类似???的那美克星文。不解,怀疑是MySQL 4.1.x使用UTF-8字符集保存数据的问题,于是换回MySQL 4.0.22。再试,问题依旧。看来问题是出在MySQL Connector Net上了。打开MySQL Connector Net的帮助,翻到MySqlConnection的部分,一行一行往下找答案。结果发现参数列表中有一个CharSet -or Character Set参数。参数的说明如下:

Specifies the character set that should be used to encode all queries sent to the server. Resultsets are still returned in the character set of the data returned.

原来如此……

把连接字符串改成"host=localhost;database=test;uid=root;pwd=;charset=gb2312"再试,OK,这回一切正常了!

PS:在使用新版本的phpMyAdmin访问MySQL 4.1.x时,会出现一个叫做连接字符集的东东。当时换了下,发现没什么变化(因为访问的数据库、数据表和字段都是英文的-_-|||),也就没在意。现在想想,应该就是类似这个CharSet参数的东东了。
阅读更多
个人分类: .NET+MySql
上一篇如何在.NET中访问MySQL数据库
下一篇Mysql Connector Net 不支持GBK问题的解决
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭