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显示的正确结果 刘佳

阅读 4.6k
1 个回答
>>> "刘佳".encode('utf-8').decode('latin1')
'å\x88\x98ä½³'

以latin解码了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题