我们有一个 R 程序,它过滤表中的一些数据并使用结果创建一个新表。在 Windows 和 OSX 上,程序运行并且我们的表被正确创建。但是,在我们的 Linux (Ubuntu 12.04) 服务器上,同一个 R 程序会生成一个包含垃圾数据的表。
当我们将 Linux 上产生的垃圾数据与正确的数据进行比较时,我们发现:
- 应该有文本值的列中看似任意的数字
- 额外的行
我们认为问题出在编码上,但到目前为止,我们所有改变数据库编码的努力都失败了。
我们的 R 脚本用于RMySQL
连接 MySQL 数据库、过滤内容并将其写入新表(使用dbReadTable
and dbWriteTable
命令)。我们知道命令本身不是问题,因为我们能够在过滤它们之前和之后检查 data.frame - 问题在于dbWriteTable
.
这两个链接似乎最接近我们问题的解决方案,但我们必须等待拉取请求通过:
- https://github.com/jeffreyhorner/RMySQL/issues/6
- https://github.com/gagern/RMySQL/commit/b0fbef105ca61d69992a2ec5a5eafde30530b8d5
这些也是相关的: