我正在学习如何将数据从数据库导入R。 我使用了以下代码:
library("RMySQL")
library("dbConnect")
con <- dbConnect(RMySQL::MySQL(),dbname = "database_name",host = "xyz.amazonaws.com",user="xxxxxxx",password="ghujkfgd")
dbListTables(con)
df <- "CALL get_transactions('all');"
df <- dbGetQuery(con, df)
但是数据存在一些编码问题:
左侧列是我要从数据库中导出的列,右侧列是原始列。有人可以告诉我如何从数据库到R. TIA读取带有重音或特殊字符的数据。
答案 0 :(得分:0)
我已使用以下代码解决了该问题:
library(RMySQL)
library(dbConnect)
con <- dbConnect(RMySQL::MySQL(),dbname = "database_name",host = "xyz.amazonaws.com",user="xxxxxxx",password="ghujkfgd"
dbListTables(con)
df <- "CALL get_transactions('all');"
rs <- dbSendQuery(con, 'set character set "utf8"')
rs <- dbSendQuery(con, df)
data <- fetch(rs, n= -1)
dbDisconnect(con)
答案 1 :(得分:0)
edf3c1e1f1fa
是íóÁáñú
中CHARACTER SET latin1
的十六进制代码。
可能是某人期待UTF-8
(CHARACTER SET utf8
或utf8mb4
)并惊恐于ed
,因此说Roc<ed>ghf
而不是Rocíghf
。 / p>
我在R
上的笔记说
Tool -> Global Options -> Code -> Saving and put UTF-8
rs <- dbSendQuery(con, 'set character set "utf8"')
rs <- dbSendQuery(con, 'SET NAMES utf8')
options(encoding =“ UTF-8”)位于调用该程序包的主脚本顶部。
但是,此可能恰好是向后的,您可能需要使用latin1
而不是utf8
。