首页 > 解决方案 > 将数据从数据库加载到 R 后正确的文件编码

问题描述

我正在学习如何将数据从数据库导入 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。

标签: mysqlrdatabaseutf-8

解决方案


edf3c1e1f1faíóÁáñú是in的十六进制代码CHARACTER SET latin1

可能有什么东西在期待UTF-8CHARACTER SET utf8utf8mb4)并且呱呱叫着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')

options(encoding = "UTF-8") 在调用包的主脚本顶部。

但是,这可能恰好是倒退的,您可能需要使用latin1而不是utf8.


推荐阅读