C#操作MySQL中文乱码的解决方案

时间:2008-11-27 11:35:20   来源:第二电脑网上收集  作者:

  第二电脑网导读:,Select/Update/Insert均出现乱码;   B、gbk字符集远大于gb2312,是第二首选字符集,但在Server/Database设定为GBK字符集后,在程序中连接都不成功(not support),更不用说操作;最终解决方案:1、选用gb2312编码2、设置my.ini文件中的默认编码   分别在[mysql]和[mysqld]配置段中增加或修改default_charater_set=gb23123、创建...
  正文: 误区:
近几天来搜索网上资源介绍理论上的可选编码方案为:gb2312/gbk/utf8等支持双字节的编码类型均可,实际试验过程中发现并不是这样的。
   A、大家跟风都想使用utf8,但UTF8在处理中文时并非想像中的理想,Select/Update/Insert均出现乱码;
   B、gbk字符集远大于gb2312,是第二首选字符集,但在Server/Database设定为GBK字符集后,在程序中连接都不成功(not support),更不用说操作;

最终解决方案:
1、选用gb2312编码
2、设置my.ini文件中的默认编码
   分别在[mysql]和[mysqld]配置段中增加或修改default_charater_set=gb2312
3、创建数据库时编码选用gb2312
4、创建表时编码选用gb2312,Collation选用gb2312_chines_ci(gb2312_bin没有去试验)
5、针对具体需要存放中文的字段设定编码选用gb2312,Collation选用gb2312_chines_ci(gb2312_bin没有去试验)

改进:
如果确实需要存放gbk编码字符,请在连接成功后执行set names gbk


来源:http://www.002pc.com/master/College/Language/C/2008-11-27/4644.html

收藏到:

关于《C#操作MySQL中文乱码的解决方案》文章的评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面

随机文章

    SQL Error: select * from ***_ecms_article where classid='95' and checked=1 order by rand() limit 10

顶出来的热门

    SQL Error: select * from ***_ecms_article where classid='95' and checked=1 order by diggtop desc,id desc limit 10
站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td