所用工具MySQL5.022
VS2005 Team Suite
MySQL Connector Net 5.0.3
EMS SQL Manage 2005 For MySQL
使用过MySQL的朋友都知道有乱码问题困扰,而出现此问题都是因没有正确设置其编码造成;
假设现在要做一个简体中文网站;
一、设置数据库编码
安装mysql时可选择编码,如果已经安装过,可以更改文件my.ini(此文件在mysql的安装目录下)中的配制以达到目的;打开文件找到两处:
【转】.Net+MySQL组合开发 乱码篇[client]
【转】.Net+MySQL组合开发 乱码篇
【转】.Net+MySQL组合开发 乱码篇port=3306
【转】.Net+MySQL组合开发 乱码篇
【转】.Net+MySQL组合开发 乱码篇[mysql]
【转】.Net+MySQL组合开发 乱码篇
【转】.Net+MySQL组合开发 乱码篇default-character-set=gb2312

【转】.Net+MySQL组合开发 乱码篇# The default character set that will be used when a new schema or table is
【转】.Net+MySQL组合开发 乱码篇# created and no character set is defined
【转】.Net+MySQL组合开发 乱码篇default-character-set=gb2312
更改红色部分为gb2312
此时新建数据库后,数据库目录下有个db.opt文件,内容如下:
【转】.Net+MySQL组合开发 乱码篇default-character-set=gb2312
【转】.Net+MySQL组合开发 乱码篇default-collation=gb2312_chinese_ci
编码数据库一致
二、客户端工具编码
【转】.Net+MySQL组合开发 乱码篇
编码设置与数据库
编码相同,可以用客户端工具直接写入数据,不产生乱码;
三、web.config中设置
连接字符串中的编码,MySQL Connector Net 5.0.3用
【转】.Net+MySQL组合开发 乱码篇<connectionStrings>
【转】.Net+MySQL组合开发 乱码篇    
<add name="MySqlServer" connectionString="Data Source=127.0.0.1;User ID=root;Password=123;DataBase=BOOK;Charset=gb2312"/>
【转】.Net+MySQL组合开发 乱码篇  
</connectionStrings>
读取写入的编码
【转】.Net+MySQL组合开发 乱码篇<globalization responseEncoding ="gb2312" requestEncoding ="gb2312"/>


OK,此时设置完成,做好的网站即一个简体中文网站,不会有乱码的;
如果需要做一个繁体网站,把以上设置编码的地方变成"gbk"即可。

常见问题:
Character set 'gbk' is not supported
出现此问题,十有八九可能你用了底版本的MySQL Connector ,因为在MySQL Connector 1.07中提供的字符编码是有限的,找到不到web.config中设置的编码类型,没有gbk,不过好像有big5,具体请看MySQL Connector 1.07源码中的CharSetMap.cs文件,其中

【转】.Net+MySQL组合开发 乱码篇public static CharacterSet GetChararcterSet(DBVersion version, string CharSetName)
        }

 

【转】.Net+MySQL组合开发 乱码篇private static void LoadCharsetMap()
}

而MySQL Connector 5.03中提供的字符编码相当全面了,所以建议使用5.03,不过5.03与旧版本的mysql数据库有些地方不太兼容。在执行存储过程等大的数据操作时会出现:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding

数据库技术
所用工具MySQL5.022
VS2005 Team Suite
MySQL Connector Net 5.0.3
EMS SQL Manage 2005 For MySQL
使用过MySQL的朋友都知道有乱码问题困扰,而出现此问题都是因没有正确设置其编码造成;
假设现在要做一个简体中文网站;
一、设置数据库编码
安装mysql时可选择编码,如果已经安装过,可以更改文件my.ini(此文件在mysql的安装目录下)中的配制以达到目的;打开文件找到两处:
【转】.Net+MySQL组合开发 乱码篇[client]
【转】.Net+MySQL组合开发 乱码篇
【转】.Net+MySQL组合开发 乱码篇port=3306
【转】.Net+MySQL组合开发 乱码篇
【转】.Net+MySQL组合开发 乱码篇[mysql]
【转】.Net+MySQL组合开发 乱码篇
【转】.Net+MySQL组合开发 乱码篇default-character-set=gb2312

【转】.Net+MySQL组合开发 乱码篇# The default character set that will be used when a new schema or table is
【转】.Net+MySQL组合开发 乱码篇# created and no character set is defined
【转】.Net+MySQL组合开发 乱码篇default-character-set=gb2312
更改红色部分为gb2312
此时新建数据库后,数据库目录下有个db.opt文件,内容如下:
【转】.Net+MySQL组合开发 乱码篇default-character-set=gb2312
【转】.Net+MySQL组合开发 乱码篇default-collation=gb2312_chinese_ci
编码数据库一致
二、客户端工具编码
【转】.Net+MySQL组合开发 乱码篇
编码设置与数据库
编码相同,可以用客户端工具直接写入数据,不产生乱码;
三、web.config中设置
连接字符串中的编码,MySQL Connector Net 5.0.3用
【转】.Net+MySQL组合开发 乱码篇<connectionStrings>
【转】.Net+MySQL组合开发 乱码篇    
<add name="MySqlServer" connectionString="Data Source=127.0.0.1;User ID=root;Password=123;DataBase=BOOK;Charset=gb2312"/>
【转】.Net+MySQL组合开发 乱码篇  
</connectionStrings>
读取写入的编码
【转】.Net+MySQL组合开发 乱码篇<globalization responseEncoding ="gb2312" requestEncoding ="gb2312"/>


OK,此时设置完成,做好的网站即一个简体中文网站,不会有乱码的;
如果需要做一个繁体网站,把以上设置编码的地方变成"gbk"即可。

常见问题:
Character set 'gbk' is not supported
出现此问题,十有八九可能你用了底版本的MySQL Connector ,因为在MySQL Connector 1.07中提供的字符编码是有限的,找到不到web.config中设置的编码类型,没有gbk,不过好像有big5,具体请看MySQL Connector 1.07源码中的CharSetMap.cs文件,其中

【转】.Net+MySQL组合开发 乱码篇public static CharacterSet GetChararcterSet(DBVersion version, string CharSetName)
        }

 

【转】.Net+MySQL组合开发 乱码篇private static void LoadCharsetMap()
}

而MySQL Connector 5.03中提供的字符编码相当全面了,所以建议使用5.03,不过5.03与旧版本的mysql数据库有些地方不太兼容。在执行存储过程等大的数据操作时会出现:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding

相关文章:

  • 2022-01-10
  • 2021-06-22
  • 2022-02-14
  • 2021-06-16
  • 2022-12-23
  • 2022-01-06
  • 2022-12-23
猜你喜欢
  • 2021-12-02
  • 2021-10-30
  • 2021-12-21
  • 2021-09-21
相关资源
相似解决方案