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

按上述修改完成即可,页面和数据库都可正常显示中文。

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