Mysql 在Mac上正确编码,但在运行Ruby脚本时在Ubuntu VPS上不正确
我的本地(Mac)和远程(Ubuntu 14.04)MySQL数据库和表都是UTF-8。本地使用Ruby 2.2.0,远程使用Ruby 2.2.3 在本地机器上,我在IRB中测试了脚本:Mysql 在Mac上正确编码,但在运行Ruby脚本时在Ubuntu VPS上不正确,mysql,ruby,ubuntu,encoding,Mysql,Ruby,Ubuntu,Encoding,我的本地(Mac)和远程(Ubuntu 14.04)MySQL数据库和表都是UTF-8。本地使用Ruby 2.2.0,远程使用Ruby 2.2.3 在本地机器上,我在IRB中测试了脚本: irb(main):004:0> item.at('title').text => "Öndör Gegeen Zanabazaryn Gudamj" 然后我运行脚本ruby abc.rb,并将其存储在数据库中,与 Öndör Gegeen Zanabazaryn Gudamj 在我的远程机器上,
irb(main):004:0> item.at('title').text
=> "Öndör Gegeen Zanabazaryn Gudamj"
然后我运行脚本ruby abc.rb
,并将其存储在数据库中,与
Öndör Gegeen Zanabazaryn Gudamj
在我的远程机器上,我在IRB上测试了脚本:
irb(main):004:0> item.at('title').text
=> "\u00D6nd\u00F6r Gegeen Zanabazaryn Gudamj"
然后我运行了脚本ruby abc.rb
,但将其存储在数据库中,如下所示:
ÖndÃr Gegeen Zanabazaryn Gudamj
为了将数据正确存储为本地数据,我应该在远程设备上进行哪些设置?我从
mysql
gem切换到mysql2
gem,这会自动强制使用UTF-8[或二进制]进行连接。因此,问题在于数据库连接,而不是数据库或脚本
参考: