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%';

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值