Ruby on Rails 2.2.3 + Mysql 5.0 解决GBK编码问题

 Ruby on Rails 2.2.3  + Mysql 5.0 解决GBK编码问题

                

1、ruby1.8.6+raile2.2.3+(Mysql 5.0 GBK编码) ;
2、工程设置
 工程目录/app/controllers/appliction.rb
#加入以下代码,位置随便
 before_filter :configure_charsets
  def configure_charsets
       response.headers["Content-Type"] = "text/html; charset=GBK "
   end
#或加入下面的代码也行,差不多
 before_filter :set_charset 
  #设置字符集
   def set_charset
     headers["Content-Type"] = "text/html; charset=GBK"
    response.headers["Content-Type"] = "text/html; charset=GBK"
     suppress(ActiveRecord::StatementInvalid) do
     ActiveRecord::Base.connection.execute 'SET NAMES GBK'
     end
   end
3、修改html.erb文件代码
 工程目录/app/views所有文件开头加上如下语句,让浏览器以GBK或者gb2312解释HTML:
 <meta http-equiv="content-type" content="text/html;charset=GBK" />
4、rails环境设置(这一步设置好像不做也行)
 /ruby/lib/ruby/gems/1.8/gems/rails-2.2.3/environments/enviroment.rb
#加入
 $KCODE="GBK"
 ActionController::Base.default_charset=( "GBK ")
5、rails数据库配置
 工程目录/config/database.yml
 development:
   adapter: mysql
 encoding: gbk
 database: blog_development#数据库名字自己写
 username: root
 password:
 host: localhost
6、Mysql如何设置为GBK:
(1)在文件 /MySQL Server 5.0/my.ini中
#找到两处
 default-character-set=latin1 
#改为
 default-character-set=gbk
(2)
#找到自己创建的数据库目录
 /MySQL Server 5.0/data/数据库目录/db.opt
#修改为如下:
 default-character-set=gbk default-collation=gbk_chinese_ci
(3) 在命令行可以查看设置是否正确 :
 show variables like 'character_set_%';
 show variables like 'collation_%';
 status;
#如果除以下两项外其他全为GBK则设置正确:
 character_set_filesystem | binary
 character_set_system     | utf8

你可能感兴趣的:(mysql,Ruby,Rails,ActiveRecord,character,variables)