правильная кодировка файлов после загрузки данных из базы данных в R - PullRequest
0 голосов
/ 22 апреля 2019

Я учусь импортировать данные из базы данных в 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)

, но у данных возникли проблемы с кодированием:

enter code here

Левый столбец - это столбец, который я экспортирую из базы данных, а правый столбец - исходный столбец.Может кто-нибудь сказать мне, как я могу читать данные с акцентами или специальными символами из базы данных в R. TIA.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2019

edf3c1e1f1fa - это шестнадцатеричные коды для íóÁáñú в CHARACTER SET latin1.

Возможно, что-то ожидало UTF-8 (CHARACTER SET utf8 или utf8mb4) и квакало на ed, следовательно, сказаноRoc<ed>ghf вместо Rocíghf.

Мои заметки о R скажем

Tool -> Global Options -> Code -> Saving and put UTF-8

rs <- dbSendQuery(con, 'set character set "utf8"')
rs <- dbSendQuery(con, 'SET NAMES utf8')

опциях (encoding = "UTF-8") в верхней части моего основного скрипта, из которогопакет называется.

Однако, это может оказаться обратно, и вам, возможно, придется использовать latin1 вместо utf8.

0 голосов
/ 24 апреля 2019

Я решил проблему, используя следующий код:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...