Rails中的中文乱码问题

在看了heweiya的完美实现省市县三级连动后,也跟着做了一下,但出现了乱码问题。他在文中最后也提到乱码问题,写了个方法来解决:configure_charsets,但我发现却没有用,不知是不是mysql版本不同,好像有报错找不到header的定义。

 

后来发现robbin提到的:

1、确定MySQL数据库编码是utf8
2、database.yml里面增加encoding: utf8
3、确定rhtml文件编码是UTF-8

 

于是一步一步去检查,发现是数据库的字符编码问题,我的mysql默认安装是

Server characterset:	latin1
Db     characterset:	latin1
Client characterset:	latin1
Conn.  characterset:	latin1

 记得在windows安装后,会有个configure设置的对话框,可以设置编码,但Ubuntu里是在配置文件中来设置的:

[client]
default-character-set=utf8

[mysqld]
default-character-set=utf8
init_connect='SET NAMES utf8'
character_set_database=utf8

 也是在网上看的网友们的设置来做的,然后进入mysql一看,已经都是utf8了,但进入程序指定的database,导入数据,竟然显示的是‘?’,一查看该database的编码,竟然没有改过来,可能是用的建立database时的编码,于是删除该database重新来建,问题解决了。

你可能感兴趣的:(mysql,windows,ubuntu,Rails)