【发布时间】:2018-10-05 09:53:54
【问题描述】:
我正在从 SQL Server 数据库向 R Studio 查询数据。某些列包含应在进一步分析中使用的西里尔字母。但是它们以错误的方式编码,所以我不能使用它们。由于工作隐私,我将创建可重现的示例来显示问题。
library(odbc)
library(pool)
library(DBI)
poolX <- dbPool(drv = odbc::odbc(),
Driver = "ODBC Driver 17 for SQL Server",
Database = "database",
Server = "server",
UID = "user",
PWD = "123456")
连接效果很好,让 R Studio 从所需的数据库中查询数据。数据库包含带有字符的表。
City 列包含用俄语书写的城市名称。
在 SQL Server 中显示为:
City = Алматы, Астана
但是,当我将此列查询到 RStudio 单元格时,它是以这种形式编写的:
City = <c0><eb><ec><e0><f2><fb>,<c0><f1><f2><e0><ed><e0>
R 也以不同的形式显示它
独特(城市)
#[1] "\xc0\xeb\xec\xe0\xf2\xfb"
#[2] "\xc0\xf1\xf2\xe0\xed\xe0"
有趣的是,如果我将数据从 SQL Server 数据库导入 Excel 并上传到 R Studio,效果很好
我需要从数据库直接连接到 RStudio,所以我必须解决这个问题。 欢迎任何帮助。有什么问题?
【问题讨论】:
标签: r sql-server utf-8 character-encoding