【发布时间】:2014-09-27 19:57:29
【问题描述】:
我想插入一个制表符分隔的文件,该文件包含带有特殊字符的日文和英文字符。我正在使用 RMySQL 做的是。我尝试给出以下错误的解决方案之一:
dbWriteTable(con, "japan_test2", d, append = T, row.names=FALSE);
Error in mysqlExecStatement(conn, statement, ...) : RS-DBI driver: (could not run statement: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '˜¨å¤œã®ã‚³ãƒ³_ text)' at line 3)
In addition: Warning message:
In strsplit(msg, "\n") : input string 1 is invalid in this locale
[1] FALSE
Warning message:
In mysqlWriteTable(conn, name, value, ...) :
could not create table: aborting mysqlWriteTable
当前语言环境:LC_COLLATE=English_United States.1252;LC_CTYPE=Japanese_Japan.932;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
尝试的语言环境:美国、日本。 编码尝试:UTF-8,16,ASCII。 系统:Windows7 RStudio 版本 0.98.977 MySQL 5.4.27 CE
【问题讨论】:
-
con是什么编码? -
@Roman Luštrik 我在 con. 中使用任何编码。这是我的骗局: con
-
好的,那么您正在将
d写入表格。在将该对象传递到数据库之前设置Encoding可能会有所帮助? -
@Roman Luštrik 你能帮我设置数据帧 d 的编码吗?
-
现在应该可以在 RMySQL 的开发版本中使用:github.com/rstats-db/RMySQL。请尝试一下,如果您有问题,请告诉我。