从似乎特定于 Windows 计算机的 MySQL 数据库提取数据时,我遇到字符编码问题。
适用于 Linux 计算机的简单解决方案:
# establish connection
db = src_mysql(user = "user", password = "pass", dbname = "training_db", host = "127.0.0.1", port = 3306)
# change/force the character encoding
dbGetQuery(db$con, 'SET NAMES utf8')
如果我在 Linux 上使用此设置拉取表格,一切看起来都很好,如果我在 Windows 计算机上执行此操作,我会从数据库中的捷克语字符中得到困惑的变量。
当我在Win PC上检查MySQL Workbench中的数据库时,一切似乎都正常。
有人偶然发现同样的问题并找到解决方案吗?
最佳答案
找到了使用 dbConnect 的解决方案。因此在这个特定的例子中:
db = dbConnect(drv = RMariaDB::MariaDB(),
username = "user",
password = "pass",
dbname = "training_db",
host = "127.0.0.1",
port = 3306
)
有趣的是,我记得尝试在 Linux 上使用 dbConnect,但在出现一些问题后,转向了前面提到的 src_mysql。无论如何,即使在现在的官方指南中也推荐使用dbConnect dplyr_guidelines .
关于mysql - R:Windows 上的 MySQL 字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56733907/