asp.net 连 mysql utf-8完全OK的方法

0.下载Mysql 5.X for windows 进行安装

1.在asp.net中连接MySql、使用MySql.Data.DLL、完全ADO.NET访问模式、操作方便如同SQL Server


MySql.Data.dll下载地址:http://dev.mysql.com/downloads/

2.将MySql.Data.dll 从安装目录的比如(安装目录\MySQL\MySQL Connector Net 5.1.7\Binaries\.NET 2.0)下的MySql.Data.dll copy到你项目的bin目录下

3.web.config 加入(也可以项目引用,会自动生成这行)

<compilation debug="true">
<assemblies>
  <add assembly="MySql.Data, Version=5.1.7.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>

</assemblies>

</compilation>

 

链接字符串(注意这里写了字符集utf-8)介个就很重要啦:

<connectionStrings>
<add name="myql_connStr" connectionString="Server=localhost;Port=3307;Database=test;Uid=root;Pwd=rootroot;pooling=false;charset=utf8;" providerName="MySql.Data.MySqlClient"/>
</connectionStrings>

 

4.把Mysql dbhelper 类准备好,就是ms sql的 sqlxxxx前面加 My就差不多

5.安装一个Mysql的可视管理工具,比如navicat.exe

6.关于中文乱码 1366 的事情,因为我做的多为网站,喜欢utf-8编码,以utf-8来说,把代码项目设成utf-8 (web.config)到mysql 的命令行界面 status ,查看编码状态,如下图:

全是utf-8就不需要怎样,如果不是,用命令行进行修改:

通过MySQL命令行修改:
mysql> set character_set_client=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_connection=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_database=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_results=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_server=utf8;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_system=utf8;
Query OK, 0 rows affected (0.01 sec)
mysql> set collation_connection=utf8;
Query OK, 0 rows affected (0.01 sec)
mysql> set collation_database=utf8;
Query OK, 0 rows affected (0.01 sec)
mysql> set collation_server=utf8;
Query OK, 0 rows affected (0.01 sec)

 

再进行status,OK了吧,在管理工具处重启mysql服务

再打开navicat.exe 进行字段插入中文测试,不行?检查你的表相关字段的字符属性,如下图:

 

如果不是utf-8修改之,再插入中文,OK~~

 

posted on 2012-04-23 12:09  webmm  阅读(1461)  评论(2编辑  收藏  举报