解决rails mysql中文乱码

今天开始学着用RoR写一个blog程序,首先碰到的就是要解决中文乱码问题。我的rhtml显示的中文是正常的,mysql里面是乱码(mysql已经设为utf8,所以是生成的rhtml的问题)。
设置mysql不难,直接把默认的latin1设为utf8,对于Radrails里的中文显示设置project属性的info中的编码为utf8。而rails的设置要添加一些代码:
先说这两句,我也是在网上搜得,上面说要把这两行代码加到environment.rb中
$KCODE = 'u'
require 'jcode'
而且还要在do和end中间,结果我把这两行去掉了照样能够解决乱码,看来这是老版本的rails的做法吧。
不过下面几行应该是起作用的
在application.rb下面添加:
before_filter :configure_charsets
def configure_charsets
@response.headers["Content-Type"] = "text/html; charset=utf-8"
# Set connection charset. MySQL 4.0 doesn’t support this so it
# will throw an error, MySQL 4.1 needs this
suppress(ActiveRecord::StatementInvalid) do
ActiveRecord::Base.connection.execute 'SET NAMES UTF8'
end
end
问题解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值