让 ruby 1.9.1 + rails 2.3.3 + mysql 完美工作

ruby1.9 String中加入的encoding确实有点又疼。导致rails总是会出现:

incompatible character encodings: UTF-8 and ASCII-8BIT
or
incompatible character encodings: ASCII-8BIT and UTF-8

主要原因有两个,一个是actionview总是用ascii-8bit去解析string, 另一个在于数据库适配器现在还不是encoding aware的。如果是utf8的db那问题就来了。

就这个问题,对于rails团队有些绝望。都这么久了,问题还是没有解决。encoding问题并不是rails绝无仅有遇到的问题,此问题早就有解,为什么不做在rails 2.3.3的release里?

无奈只能山寨了,山寨的东西肯定没有原厂的好,将就着吧。

解决这个问题需要hack rails 2.3.3的几处代码, 同时使用一个新的mysql-ruby adapter.

步骤:

1. Make partial rendering enforces a utf-8

2. Make TextHelper concat always deals with

3. Make upload mutiparts work.(rake utils.rb binary encoding problem)
[url]http://github.com/rack/rack/commit/44ed4640f077504a49b7f1cabf8d6ad7a13f6441[/url]

4. Install a new mysql adapter
[url]http://github.com/hectoregm/mysql-ruby/tree/master[/url]

前两个path file 我都放在附件里。

更多我的博客请看: [url]http://arkxu.com[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值