闵毓
http://www.eshoo.com.cn 欢迎来到异客中国
posts - 49,comments - 97,trackbacks - 0
初学Rails,简单的做了一个例子,发现存在中文问题。
大致中文问题归类如下:
       1、页面无法显示中文,产生中文乱码
       2、Mysql数据库采用utf8后,页面采用utf8,数据库保存是乱码,但页面显示正常。
       3、时间格式在页面上的中文显示产生乱码。
打开:application.rb:修改代码如下显示:
1 class ApplicationController < ActionController::Base 
2 before_filter :set_charset 
3 def set_charset 
4 @headers["Content-Type"= "text/html; charset=utf-8" 
5 end 
6 end 
同时对页面(*.rhtml)上进行增加编码控制:
<meta http-equiv="Content-type" content="text/rhtml; charset=utf8" />
同时在保存页面时,进行编码转换成utf8格式。
做完以上工作的话,利用mysql数据库客户端工具Navicat查看数据库,你会发现数据库中保存的中文数据会出现乱码,因此需要进一步处理:
1、建数据库时采用utf8编码进行建库,同时建表或者导表时要注意采用utf8编码。
2、采用Navicat连接数据库时在Advanced Settings中选择Encoding编码为utf8,同时取消Use MySQL character set的默认选项,再进行连接。
进行以上设置,将会在数据库中显示出正常的中文。同时页面上显示也会是中文,但你会发现对于时间的显示上仍然存在一些小问题。因此在输出时间时需要进行(original_date.strftime("%Y/%m/%d"))转换格式。
完成。
继续学习中......,发现新的问题,再更新。
posted on 2006-09-27 11:55 闵毓 阅读(6445) 评论(6)  编辑  收藏 所属分类: 其他

FeedBack:
# re: Ruby on Rails 学习:解决中文乱码问题
2006-10-24 08:58 | 粪叉
很实用,谢谢!  回复  更多评论
  
# re: Ruby on Rails 学习:解决中文乱码问题
2006-10-28 15:40 | dsl
我按照你的方法做了
怎么不行啊 页面还是不能显示中文
  回复  更多评论
  
# re: Ruby on Rails 学习:解决中文乱码问题
2006-10-31 14:47 |
注意两点:一点数据库客户端的连接方式。另一点是将页面转换成utf8格式。绝对是没有问题的。  回复  更多评论
  
# re: Ruby on Rails 学习:解决中文乱码问题
2007-08-23 12:42 | apec
页面乱码很简单:将你的rhtml存为utf-8格式的文件即可。
  回复  更多评论
  
# re: Ruby on Rails 学习:解决中文乱码问题[未登录]
2008-02-24 11:43 | 过客
mysql采用utf-8后,对中文的排序是不对的。还应用gbk.  回复  更多评论
  
# re: Ruby on Rails 学习:解决中文乱码问题
2008-09-19 11:10 | innohub
顶一下。谢谢  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: