6
我嘗試使用DBI包連接到Sybase數據庫,但查詢不能正確返回希臘字符。到SQL Server(和Sybase 12.5)的DBI連接不返回希臘字符
與連接到SQL服務器的連接相同。下面是一個dbConnect
命令的例子:
library(odbc)
con <- dbConnect(odbc::odbc(), .connection_string = "Driver={SQL Server};server=ATLAS;database=master;trusted_connection=true")
我沒有問題,當我用RODBC(具有相同的系統DSN)
表內容:
> sessionInfo()
R version 3.4.1 (2017-06-30)
Platform: i386-w64-mingw32/i386 (32-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
Matrix products: default
locale:
[1] LC_COLLATE=Greek_Greece.1253 LC_CTYPE=Greek_Greece.1253 LC_MONETARY=Greek_Greece.1253 LC_NUMERIC=C
[5] LC_TIME=Greek_Greece.1253
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] odbc_1.1.1
loaded via a namespace (and not attached):
[1] bit_1.1-12 compiler_3.4.1 hms_0.3 DBI_0.7 tools_3.4.1 tibble_1.3.4 yaml_2.1.14 Rcpp_0.12.12 bit64_0.9-7
[10] blob_1.1.0 rlang_0.1.2
難道你在你的perl安裝中沒有匹配的語言包?通過DBI連接時返回什麼? –
我沒有perl安裝。 _>數據庫連接(ODBC :: ODBC() 「PIND_ERGOSE」,字符集= 「cp1253」) DBO @ Omiros酒店 數據庫:ERGOSE 的SQL Server版本:12.50.0000_ –
@GeorgeDontas我的感覺是有問題你的CharSet。 查看https://sourceforge.net/p/jtds/bugs/440/ nb。幾年前我在Windows上遇到類似的問題,必須更改字符集。爲什麼? Cp1252沒有定義128到160之間的值,所以它們被轉換爲?。 我希望上面的幫助。 – Technophobe01