从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。