R语言sqldf包读取数据乱码如何解决
字段名称乱码解决办法我用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
页:
[1]