我的本地 (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 上测试了脚本:
irb(main):004:0> item.at('title').text
=> "\u00D6nd\u00F6r Gegeen Zanabazaryn Gudamj"
然后我运行了脚本 ruby abc.rb
但将其存储在数据库中:
Öndör Gegeen Zanabazaryn Gudamj
我应该在 Remote 上进行哪些设置才能将数据正确存储为本地数据?
最佳答案
我从 mysql
gem 切换到 mysql2
gem,它会自动强制使用 UTF-8 [或二进制] 进行连接。所以问题出在数据库连接上,而不是数据库或脚本。
引用:
关于mysql - 运行 Ruby 脚本时在 Mac 上正确编码,但在 Ubuntu VPS 上不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34138455/