【问题标题】:Correct encoding on Mac, but not on Ubuntu VPS while running Ruby script在 Mac 上正确编码,但在运行 Ruby 脚本时在 Ubuntu VPS 上不正确
【发布时间】:2016-03-12 08:15:28
【问题描述】:

我的本​​地 (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

为了将数据正确地存储为本地数据,我应该在遥控器上进行哪些设置?

【问题讨论】:

    标签: mysql ruby ubuntu encoding


    【解决方案1】:

    我从mysql gem 切换到mysql2 gem,它会自动强制使用 UTF-8 [或二进制] 进行连接。所以问题出在数据库连接上,而不是数据库或脚本上。

    参考:

    1. Storing swedish characters in mysql database
    2. https://github.com/brianmario/mysql2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多