lzqustc 发表于 2013-2-7 19:24:28

Rails:中文乱码解决方案

①、安装mysql时,默认字符集为latin1       (无须改动)   

②、通过这种方式生成你的应用(myblog),以便配置mysql: rails myblog-dmysql


③、修改.\config下的database.yml :encoding: utf8


④、确保你所用的数据库:character_set_database ='utf8',如果不是(默认为latin1),
可以通过Create DATABASE db_nameDEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
或者Alert DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;来设置


⑤、如果你是通过ActiveRecord插入数据,那么ActiveRecord连接数据库时,也要加上
:encoding => 'utf8' (相当于在mysql下执行set names 'utf8') 此时插入中文时会出错提示            
Mysql::Error: Incorrect string value:'\xB1\xB1\xBE\xA9\xD0\xF1...'那么需要将你的程序文件另存为utf8格式
         
当然如果改为:encoding => 'gb2312',就不会出现上面的错误,不过我还是提倡:encoding => 'utf8',毕竟utf8比gb2312更强大嘛!


⑥、所有.html.erb文件都另存为utf8格式


*PS:
可以通过UltraEdit来另存,方法如下:“文件-->转换-->ASCII到UTF-8(Unicode编辑)”,然后保存即可。
mysql查看字符集命令:
SHOW VARIABLES LIKE '%collation%';
SHOW VARIABLES LIKE '%character%';
<!--EndFragment-->

<!--EndFragment-->
页: [1]
查看完整版本: Rails:中文乱码解决方案