NET访问MySQl数据库中文乱码解决

 

NET访问MySQl数据库中文乱码解决

 

一.环境准备:

1.       安装.NET FrameWork1.1

2.       安装MySQL 4.1.x www.mysql.com

3.       安装Mysql connector for .Net1.0  www.mysql.com

 

二.问题描述:如题

 

三.问题分析:

Mysql4.1以后开始支持多编码。用因为MySQL是瑞典人开发的,所以安装MySQL默然是latin1。而我们中文操作系统环境下用到的默认是GB2312.这样我们不管在查询数据库中文数据时,数据库转换字符时就会出现混乱。

四.问题解决:

通一数据库表和字段使用GB2312字符集。具体方法:

 

1)      在创建数据表时,先执行如下语句:

set character_set_results=gb2312;

set character_set_client=gb2312;

set character_set_connection=gb2312;

set character_set_server=gb2312;

 

2)      然后再执行建表语句:例如

CREATE TABLE `table1` (

 `Code` varchar(10) NOT NULL default '',

 `Name` double default '-1',

 PRIMARY KEY (`Code`)

) ENGINE=MyISAM DEFAULT CHARSET=gb2312;

 

这里字符集也设置为gb2312

3)      建立asp.net工程,修改 web.config文件中的

           <globalization

              requestEncoding="gb2312"

            responseEncoding="gb2312"

/>

4)      修改数据库连接字符串,设置指定的字符集:

server=yourIP;database=yourDB; User ID=yourID;Password=yourPwd; Charset=gb2312

5)      完成。

五.小节

其实如果想得到更好的国际化支持,同一使用UTF-8既可。

 

posted @ 2007-03-21 09:35  Leo  阅读(907)  评论(2编辑  收藏  举报