ruby mysql 乱码_ruby怎么读取php程序保存的mysql数据库里面的乱码数据

我想使用ruby程序读取一个php程序写入的mysql数据库,发现都出来的中文是乱码,类似如下的:刘佳。

如果用mysql query browser连接,在mysql里面显示也是乱码,

我看了下此数据库编码是utf-8,而且php读取显示在页面上,中文却能正常显示。

那ruby读取出来为什么是乱码呢? 有什么方法可以解决这个问题吗?

require 'active_record'

class Student < ActiveRecord::Base

end

ActiveRecord::Base.establish_connection(

adapter: 'mysql2',

host: 'xxxx',

username: 'xxxx',

password: 'xxxx',

database: 'xxx_db',

encoding: 'utf8'

)

puts Student.first.name

输出结果 刘佳

PHP显示的正确结果 刘佳

回复内容:

我想使用ruby程序读取一个php程序写入的mysql数据库,发现都出来的中文是乱码,类似如下的:刘佳。

如果用mysql query browser连接,在mysql里面显示也是乱码,

我看了下此数据库编码是utf-8,而且php读取显示在页面上,中文却能正常显示。

那ruby读取出来为什么是乱码呢? 有什么方法可以解决这个问题吗?

require 'active_record'

class Student < ActiveRecord::Base

end

ActiveRecord::Base.establish_connection(

adapter: 'mysql2',

host: 'xxxx',

username: 'xxxx',

password: 'xxxx',

database: 'xxx_db',

encoding: 'utf8'

)

puts Student.first.name

输出结果 刘佳

PHP显示的正确结果 刘佳

>>> "刘佳".encode('utf-8').decode('latin1')

'å\x88\x98ä½³'

以latin解码了。

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值