Rails中的中文乱码问题

本文详细介绍了如何解决在使用MySQL数据库时出现的乱码问题,包括检查和修改数据库编码为UTF-8的方法。

在看了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重新来建,问题解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值