`
lzqustc
  • 浏览: 206673 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Rails:中文乱码解决方案

阅读更多

 

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

 

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

 

 

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

 

 

④、确保你所用的数据库:character_set_database ='utf8',如果不是(默认为latin1)

可以通过Create DATABASE db_name  DEFAULT 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',毕竟utf8gb2312更强大嘛!

 

 

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

 

 

*PS:

可以通过UltraEdit来另存,方法如下:“文件-->转换-->ASCIIUTF-8(Unicode编辑)”然后保存即可。

mysql查看字符集命令:

SHOW VARIABLES LIKE '%collation%';

SHOW VARIABLES LIKE '%character%';

<!--EndFragment-->

 

<!--EndFragment-->
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics