从MySQL DB中获取数据到R

时间:2015-06-03 12:00:28

标签: mysql r encoding utf-8 iso-8859-1

我正在使用R中的“RMySQL”库将数据从本地MySQL数据库加载到R:

con <- dbConnect(MySQL(), user="root", password="****", dbname="twitterdata", host="localhost")
dataframe <- dbGetQuery(con, "SELECT id, plaintext, category FROM table")

当我检查数据框时,我看到许多未格式化的字符,例如倾斜的灾难('),显示为

经过一些研究,我发现根据this网站,一些特殊字符(包括倾斜的apastrophe)不是 ISO-8859-1 标准的一部分,而是< strong> Windows-1252 标准。

当我跑步时

Sys.getlocale("LC_CTYPE")
在R中,它说:

"German_Austria.1252"

它是不是已经说我的编码正确?! 在我的DB(默认字符集:UTF-8)中,撇号编码得很好。

我还尝试在dbConnect语句 DBMSencoding =“utf-8”中添加一个参数,但没有效果。

当我跑步时

Encoding(x)
R中的

(其中x是字符向量 - 一个句子),答案是

"unknown"

现在有人知道解决这个问题吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

这样做:

con <- dbConnect(MySQL(), user="root", password="****", dbname="twitterdata", host="localhost", encoding = "latin1")