带有重音符号的 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"
)
我正在使用以下代码连接到 SQL 服务器数据库:
DBI::dbConnect(odbc(),
Driver = "...",
Server = "...",
Database = "...",
UID = "...",
PWD = "...",
Port = ...)
后来我使用 dbGetQuery
.
问题是我在 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"
)