rails中文乱码问题

rails中文乱码问题

初学Rails,简单的做了一个例子,发现存在中文问题。

大致中文问题归类如下:

1、页面无法显示中文,产生中文乱码

2、Mysql数据库采用utf8后,页面采用utf8,数据库保存是乱码,但页面显示正常。

3、时间格式在页面上的中文显示产生乱码。

打开:application.rb:修改代码如下显示:

打开:application.rb:修改代码如下显示:

1classApplicationController<ActionController::Base

2before_filter:set_charset

3defset_charset

4@headers["Content-Type"]="text/html;charset=utf-8"

5end

6end同时对页面(*.rhtml)上进行增加编码控制:

<metahttp-equiv="Content-type"content="text/rhtml;charset=utf8"/>同时在保存页面时,进行编码转换成utf8格式。

做完以上工作的话,利用mysql数据库客户端工具Navicat查看数据库,你会发现数据库中保存的中文数据会出现乱码,因此需要进一步处理:

1、建数据库时采用utf8编码进行建库,同时建表或者导表时要注意采用utf8编码。

2、采用Navicat连接数据库时在AdvancedSettings中选择Encoding编码为utf8,同时取消UseMySQLcharacterset的默认选项,再进行连接。

进行以上设置,将会在数据库中显示出正常的中文。同时页面上显示也会是中文,但你会发现对于时间的显示上仍然存在一些小问题。因此在输出时间时需要进行(original_date.strftime("%Y/%m/%d"))转换格式。

完成。

相关推荐