R 中 MySQL 的 UTF-8 文本检索:解码“??????”
从 R 中检索 UTF-8 编码文本MySQL 数据库导入 R 有时会导致“??????”人物。要解决此问题,请考虑以下事项:
1.验证数据库编码
确保使用适当的字符集和排序规则定义数据库表。例如,在 MySQL 中:
CREATE TABLE test (str VARCHAR(10)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2。设置连接编码
在 R 中建立数据库连接时,指定正确的字符编码。
RODBC:
con <- odbcDriverConnect('DRIVER=mysql;user=root', CharSet='utf8')
RMySQL:
先连接,然后运行:
dbConnect(MySQL(), user='root') dbSendQuery(con, 'SET NAMES utf8')
3.转换字符编码
检索结果后,将字符串列的字符编码转换为UTF-8。
RODBC:
res <- sqlQuery(con, 'SELECT * FROM rtest.test') res$str <- iconv(res$str, "UTF-8-Mac")
RMySQL:
res <- dbGetQuery(con, 'SELECT * FROM rtest.test') res$str <- as.character(res$str, encoding = 'UTF-8')
附加说明:
以上是为什么在 R 中从 MySQL 检索 UTF-8 文本时会看到“??????\”字符?的详细内容。更多信息请关注PHP中文网其他相关文章!