带有重音符号的 R 数据库连接编码错误

R database connection encoding mistakes with accents

我正在使用以下代码连接到 SQL 服务器数据库:

DBI::dbConnect(odbc(), 
               Driver = "...", 
               Server = "...", 
               Database = "...", 
               UID = "...", 
               PWD = "...", 
               Port = ...)

后来我使用 dbGetQuery.

函数提取 table

问题是我在 SQL 服务器中有带有重音符号(西班牙语)的列,我可以在那里正确地看到它们,但是当我在 R 中得到 table 时我无法正确地看到它们, 我在带重音符号的字母中看到符号 �

我该如何解决?

将参数 encoding = <the encoding of your database> 添加到 DBI::dbConnect() 应该可以。

您知道您的数据库使用的编码吗?如果没有,我会先尝试 latin1,因为这在西欧语言中很常见(例如 here)。

所以尝试将您的代码更改为:

DBI::dbConnect(
  odbc::odbc(), 
  Driver = "...", 
  Server = "...", 
  Database = "...", 
  UID = "...", 
  PWD = "...", 
  Port = "...",
  encoding = "latin1"
)