`
ziyoujiedao
  • 浏览: 40457 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ruby On Rails使用MySQL汉字不出现乱码的

阅读更多
环境:
Ruby 1.8.5
MySQL 5.0
Windows XP

MySQL设置:
将MySQL的Character设置成为utf8(或GBK或GB2312,只要和ROR里的Character设置统一就行)。
修改方法有3种:
1、用MySQL Server Instance Config Wizard设置character-set为utf8
2、修改MySQL的配置文件,改其中的两处default-character-set=utf8(推荐,改完后重启MySQL生效)
3、在建表时指定表的character-set为utf8

Ruby On Rails设置:
修改application.rb告知MySql使用UTF8 class
ApplicationController < ActionController::Base
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
end

按上述修改完成即可,页面和数据库都可正常显示中文。
分享到:
评论
1 楼 Julian 2008-05-18  
rails2中
@response.headers["Content-Type"] = "text/html; charset=utf-8" 
会报错,找不到response

相关推荐

Global site tag (gtag.js) - Google Analytics