评论

收藏

[R语言] R语言sqldf包读取数据乱码如何解决

编程语言 编程语言 发布于:2021-06-30 09:43 | 阅读数:675 | 评论:0

  字段名称乱码解决办法
  我用SQL语句选择一列数据,最后查看该列数据的时候,发现数据乱码了。解决办法如下:
data1 <- sqldf("select * from data where 疾病名称='脑出血和脑梗死'")
str(data1)
colnames(data1) <- iconv(colnames(data1),from="UTF-8",to="GBK")
head(data1)
  处理前
DSC0000.png
处理后
DSC0001.png
  transform(Data,变量1 = iconv(变量1,‘UTF-8’,‘GBK’))
数据库数据读取乱码
  方法一:同理,将数据库读取的数据对象进行赋值,再使用iconv函数就可以转换成正常的数据格式。
data<- iconv(data1,from="UTF-8",to="GBK")
head(data)
  方法二:连接数据库时设置编码
myconn <- odbcConnect(dsn=dsn, uid=uid, pwd=pwd, DBMSencoding="UTF8") ##连接数据库时设置编码
  方法三:先设置查询格式为Gbk,然后再进行数据读取
dbSendQuery(conn,'SET NAMES gbk')   ###先设置查询格式为Gbk,然后再进行数据读取
数据读取乱码
  方法一:读取时,解决乱码问题
data <- read.csv("zdata.csv", encoding="UTF-8")
  方法二:读取后转换乱码
data <- read.csv("zdata.csv")
Encoding(data) <-  "UTF-8" ##转换成UTF-8
案例应用参考https://blog.csdn.net/tandelin/article/details/100580996

  
关注下面的标签,发现更多相似文章