如何让ror支持中文

在网上流传着这样的办法让ROR以及Mysql支持中文:

  1. 在radrails中,请在project的property对话框中,左边选中info节点,右边设置编码方式为UTF-8
  2. 修改MySQL的配置文件C:/Program Files/MySQL/MySQL Server 5.0/my.ini,改其中的两处default-character-set=utf8,改完后重启MySQL(windows服务)。这一步也可采用instance wizard来做。
  3. 修改ApplicationController 如下:

    class ApplicationController < ActionController::Base
        before_filter :configure_charsets
          def configure_charsets
              # @headers["Content-Type"] = "text/html; charset=utf-8"
              @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

  4. 请在rhtml中,或者适当的layout中,加上:

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">

  5. 在config/database.yml修改如下:development:
    adapter: mysql
    database: depot_development
    encoding: utf8 *注意空格*
    username: root
    password:
    host: localhost
    保存后,重启ROR,启动app,再次ruby script/generate scaffold Product Admin应该就行了。数据库里的表应该都是utf8_general_ci,rhtml也应该都是utf-8编码。/app/views/layouts/admin.rhtml中加上<meta>标签。 

我试验了一下让ROR支持中文(就做了2,4),可惜发现不行,不过改正方法也很简单,把“UTF-8 ”改为“gb2312”就可以了。

有时间的时候再总结下utf8和gb2312。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值