本站首页    管理页面    写新日志    退出


«October 2025»
1234
567891011
12131415161718
19202122232425
262728293031


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7629271
建立时间:2006年5月29日




[Ruby on Rails]如何在Ruby On Rails中使用Unicode
软件技术

lhwork 发表于 2007/1/20 13:48:54

这两天玩Ruby On Rails,测试中文输入的时候总是乱码。在Ruby On Rails的wiki里有一篇How To Use Unicode Strings,照着上面做,解决了部分问题,可在输入一些文字时仍然乱码,而且不是什么特殊的字符,比如“可”这个字,怎么都不对。google了半天也没有什么有价值的东西,最后祭出delicious,居然在rubyonrails+unicode的tag下找到了一篇Getting Unicode, MySql and Rails to Cooperate,终于解决了问题,目前看来还没有新问题出现。 总结一下,大概有这样几个要点: 在MySql这边, 1. 需要把Table的Type设置成为MyISAM而不是InnoDB。 2. 将Charecter设置成为utf8 就象这样: create table samples ( id int not null auto_increment, foo varchar(100) not null, bar text not null, primary key (id) ) Type=MyISAM CHARACTER SET utf8; 在Ruby On Rails这边, 1. 要设置enviroment.rb,加入 $KCODE = ‘u’ require ‘jcode’ 2.在application.rb的ApplicationController中加入charset的设置,并显示告知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 然后就大功告成了。


阅读全文(2124) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144792234 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号