mysql - R:Windows 上的 MySQL 字符编码

标签 mysql r dplyr mysql-workbench dbplyr

从似乎特定于 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/

相关文章:

r - Rmarkdown 中的两种频率表

r - 使用带有索引的矩阵从数据框中选择多个值

r - 将变量值转换为列名; tidyr::spread 中的 "duplicate identifiers for rows"

r - lm的内存问题

r - 可以有条件地计算 dplyr::summarize() 的不同部分吗?

R - dplyr - 运行许多非常相似的查询的代码......?

mysql - 如何仅通过一种模式查找客户的所有交易

mysql - 选择标准出现不止一次的行sql

mysql - SQL插入存储过程phpmyadmin

MySQL - 一个表,多行具有重复的id