mysql - 运行 Ruby 脚本时在 Mac 上正确编码,但在 Ubuntu VPS 上不正确

标签 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 上测试了脚本:

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 [或二进制] 进行连接。所以问题出在数据库连接上,而不是数据库或脚本。

引用:

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

关于mysql - 运行 Ruby 脚本时在 Mac 上正确编码,但在 Ubuntu VPS 上不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34138455/

相关文章:

mysql - 连接两个表并显示详细信息

PHP-MySQL : can't connect to database

用于多个单词的 Ruby pig 拉丁语翻译器

Ruby:BigDecimal:同时是一个类和一个方法?

mysql - ohlc(开盘价、最高价、最低价和收盘价)在不同时间内部(1,5,15,60,120)分钟,1天甚至没有记录的两个日期范围之间记录

php - Zend DB fetchAll() 无法处理值超过 926 的 "id"列

ruby - 如何对 Resque 执行方法或 Resque Job 类进行基准测试?

ubuntu - 如何从旧 key 文件中提取公钥与新私钥一起使用(丢失私钥密码)

linux - 通过 SSH 进行 Git 克隆问题

Drupal 安装问题。 GD 和 PDO 无法识别