解决Mysql 数据库中文乱码问题

web前端651113年前 (2011-03-20)

MySQL-Front中:
charset: UTF-8 Unicode(utf8)
collation: UTF8_general_ci
源代码文件编码设定为 UTF-8,数据库的内容在网页上显示正常,但是用mysql-front查看数据库中的内容,数据库中的中文内容全部为乱码。在控制台方式下,查看的数据库中的内容也为乱码。这样我有时候调试程序很不方便,特别是备份数据库的时候表中一旦有中文数据则不能成功的还原数据库。

网上查了一下,使用软件Navicat可以解决这个问题,华军软件园上也有的(不过好象有30天的使用限制,这点不爽哈)。装好以后的的软件设置: connection-Advanced Settings-Encoding: 选择UTF-8,并将Use MySQL character set 选项取消。试用了一下,对UTF-8编码支持的果然很好。
后记:刚才试着备份还原了下数据库,嘿,效果还真不错```
备份只需右击数据库单击"Dump SQL File"即可,很方便。
我又从网上找了一个方法,是不借助其他工具直接用命令行用mysql自带的备份功能:mysqldump -uroot -p123456 login_development >c:\\1.txt,我打开备份的txt文件一看, 里面的中文数据还是乱码的
至于navicat30天的限制网上好象还没找到破解版的,反正我是没找到,不过把HKEY_USERS\S-1-5-21-1004336348-838170752-682003330-1003\Software\PremiumSoft删掉以后它好象会重新读取本机系统的时间进行30天的限制并重新建立该键:)
数小时后我再次添加:终于彻底解决mysql中文问题了,我简单的记录下,方法就是首先数据库表按照utf8编码创建,尤其是那种有中文的字段中更应该注意,然后在database.yml中加入encoding: utf8一句即可。另外我还试了下用上面的mysqldump备份也没有出现乱码问题了哈。