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

27 篇文章 0 订阅
14 篇文章 10 订阅

字段名称乱码解决办法

我用SQL语句选择一列数据,最后查看该列数据的时候,发现数据乱码了。解决办法如下:

data1 <- sqldf("select * from data where 疾病名称='脑出血和脑梗死'")
str(data1)
colnames(data1) <- iconv(colnames(data1),from="UTF-8",to="GBK")
head(data1)

处理前
在这里插入图片描述
处理后
在这里插入图片描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值