Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试将数据从R写入MySQL时的编码问题_Mysql_R_Encoding_Utf 8_Rmysql - Fatal编程技术网

尝试将数据从R写入MySQL时的编码问题

尝试将数据从R写入MySQL时的编码问题,mysql,r,encoding,utf-8,rmysql,Mysql,R,Encoding,Utf 8,Rmysql,我的数据包含特殊字符,如德语umlauts p=structure(list(ppl_code = c(992621L, 992381L, 992136L, 991989L, 991898L, 991759L, 991681L, 991593L, 991294L, 991036L, 990934L, 990751L, 990535L, 990411L, 990182L, 989507L), proj_name = c("klo", "Dalbygda", "Oosterhorn", "Hå

我的数据包含特殊字符,如德语umlauts

p=structure(list(ppl_code = c(992621L, 992381L, 992136L, 991989L, 
991898L, 991759L, 991681L, 991593L, 991294L, 991036L, 990934L, 
990751L, 990535L, 990411L, 990182L, 989507L), proj_name = c("klo", 
"Dalbygda", "Oosterhorn", "Hån", "Yatir", "Montigny la Cour", 
"Valle Hermoso", "Acciona Honawad - 120 MW", "Apfeltrang", "RiaBlades", 
"General Acha", "Lindau-Böhlitz", "Apfeltrang", "Alcazar Round 2", 
"Peckelsheim", "Linnich 3")), .Names = c("ppl_code", "proj_name"
), row.names = 15:30, class = "data.frame")
当我尝试将其写入MySQL数据库时:

conn <- dbConnect(
       drv = RMySQL::MySQL(),
       dbname = "mydb",
       host = "#####",
       username = "#####",
       password = "#####")

dbWriteTable(conn, value = p, name = "MyTable",row.names=FALSE)
我已经检查了一些关于这个问题的帖子,如和,但它们都是一般性的解释,没有一个明确的解决方案!
有人能帮我提出一个明确的问题来解决这个问题吗?

你需要宣布UTF-8正在使用

Tool -> Global Options -> Code -> Saving and put UTF-8

rs <- dbSendQuery(con, 'SET NAMES utf8')
工具->全局选项->代码->保存并放置UTF-8

rs的utf-8是窒息的乌姆劳特在o。在英文版本中,它不是一个可识别的字符,因此您需要找到一种方法使该单词为sql所接受,或者删除它并替换为o,或者找到另一种编码paradigm@sconfluentus,但如果我将表写入csv文件并再次读取,它将工作:
write.csv(p,file=“tmp.csv”,fileEncoding=“utf8”,quote=FALSE,row.name=FALSE)dbWriteTable(conn,value=“tmp.csv”,name=“test1”,append=TRUE,row.names=FALSE,sep=“,”,quote=“\”,eol=“\r\n”)
我想找到一种方法来避免这种愚蠢的csv转换!因此它可能不在UTF-8中尝试在r中转换而不是导出,此链接有有用的信息:
Tool -> Global Options -> Code -> Saving and put UTF-8

rs <- dbSendQuery(con, 'SET NAMES utf8')