ASP.NET2.0使用 Mysql5 中文乱码解决

最先在网上看了一些系列的解决方案,多没有能弄好。【主要参考了 http://www.cnblogs.com/chy710/archive/2007/02/25/656149.html这个上面的内容】
感觉很无奈。只能自己来处理了。

我一开始直接就用的mysql自带的test数据库了。直接建了T_User表,直接用mysql命令行insert和select,中文字符多是没有问题的。但是当我用SQL Manager 2007 For Mysql 客户端来直接插入时,问题出现了,中文全变成了乱码,开始一想可能是客户端的问题。于是用ASP.NET程序来处理的时候问题还是一样。按上面参考的文档问题也没有能解决。在一个无意之中看到Mysql 客户端上面显示 自带的 test数据库的编码格式是 lantin1。

呵呵找到了问题了。因为test库是mysql自带的数据库不变做大的改动。于是自己用客户端新建了一个库。在这里特别要重视的是在建库的时候一定要注意编码的格式选择。大家最好使用Mysql的客户端来建库,而不要使用sql脚本。应该mysql的默认编码格式不是 UTF8或者是gb2312的。

到现在基本上乱码问题已经解决的差不多了。直接在客户端插入数据后,用客户端或者程序来访问不会出现乱码了。但是毕竟我通常多是用程序来完成数据库的操作的。当用程序进行插入后问题又出现了。乱码的问题又来了。但是现在的乱码不会和数据库相关了。想一想。在DBconnection中一个属性时设置链接数据库时的编码格式的。现在直接在web.config中将数据库链接字符串加上Charset属性就可以了。
Database=xxx;Server=localhost;User ID=root;Password=mysql;Charset=gb2312;
总结一下:
1.使用mysql5数据库时候,要主要库的编码格式。虽然在mysql5中带入了编码给日常使用习惯产生了影响不过这不的不说是mysql向企业级迈进。
2.建库时尽量使用mysql的客户端来处理。毕竟直接写sql脚本再强的高手也会又忘的时候。个人推荐EMS SQL Manager 2007 For Mysql ,以上的图多是在该客户端下截取的。并且在建库时最好用utf8的编码,这样省的其他的更改。
3.设置程序与mysql数据库链接时的编码格式。以ASP.NET为例,可以加上 charset属性。

转载于:https://www.cnblogs.com/yoyozhou/archive/2007/11/05/947192.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值