从MySQL数据库中提取数据(似乎特定于Windows计算机)时,字符编码出现问题。

在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的某些问题之后。无论如何,即使在当今的dplyr_guidelines官方指南中也建议使用dbConnect。

08-19 22:12