非常神奇的事是identical(tmp$路线名称[1],'沈海高速')判断为TRUE,但在写入数据库时却产生了截然不同的结果,前者不能写入,写进去为null,后者能写入。编码设置我全部调好了,都设置成utf-8,读取数据库时中文内容及表头没有错误,写入时非常神奇的是中文表头写入正确,但内容是中文的写进去是null。
我的代码及最终结果如下:
library(RODBC)
#建立数据库连接
mycon <- odbcConnect("mydsc",uid="root",pwd="***", DBMSencoding="utf-8")
tmp <- road_data_gs[[1]]
tmp$路线名称 <- as.character(tmp$路线名称)
identical(tmp$路线名称[1],'沈海高速')
tmp$路线名称[1] <- tmp$路线名称[1]
tmp$路线名称[2] <- '沈海高速'
sqlSave(mycon,tmp,tablename = highway,rownames = FALSE)
odbcClose(mycon)