r - R MYSQL-UTF 8 中的 DBwrite 表错误
问题描述
我有以下数据框
df<-data.frame(
SLNO=c(1:5),
sentence=c("Campaign Blast all channels Team may8t", "MDC Email Campaign 1 on june 13", "Email camp Blastteam 09","Email camp Blastteam 09", "Email camp Blastteam 09thcamp"
)
我正在使用以下代码将数据框写入 SQL 表
require(rmysql)
require(rsqlite)
name<-'username'
password<-'userpass'
hostname<-'1.2.3.4'
port<-2222
database<-'db'
connection1<-dbConnect(dbDriver("MySQL"), user=username,
password=userpass, dbname= db, host=hostname, port=port)
我正在写入的表已经存在于数据库 db-table 中
dbWriteTable(custdbconn, value = df,
name ='table' , overwrite=F, append=T,
field.types=list(SlNo= 'int()', Sentence= 'text'), row.names=F)
我收到一条错误消息
Invalid utf8 character string: 'MDC Email Campaign 1 on
如果我单独插入行,这些行将写入 SQL 数据库。有没有办法在不出现错误的情况下编写整个表格。
解决方案
解决方案非常优雅和简单
Encoding(df$sentence)<-"UTF-8"
这已经解决了这个问题
推荐阅读
- java - 如何为 `javax.validation.constraints` 注释添加自定义验证器?
- docker - 运行 `minikube start`,无法拉取 k8s.gcr 图像,但 `docker pull` 可以
- javascript - 模块名称是绑定中使用的阴影全局名称
- r - ggplotly 中的 Aes
- ios - 在 viewWillAppear 中设置约束
- javascript - VueJS,ReferenceError:谷歌未定义
- javascript - 将二维数组转换为对象数组
- python - wxPython 在运行时创建一个带有子列表的巨大可点击列表?
- javascript - 失败的道具类型:道具`children`在`InputAdornment`中标记为必填,但其值为`undefined`
- batch-file - 无法使用批处理脚本读取由 `wmic logicaldisk get name > D:\sample.txt` 生成的文本文件内容