0

ROracle を使用して Oracle データベースから æ、ø、å などのノルウェー文字をインポートする際に問題が発生しています。以前にRODBCで同様の問題が発生しました。csv や xlsx などのファイルからインポートする場合は問題ありません。ROracle でインポートする場合のエンコーディングの設定に問題があると確信していますが、ドキュメントにはその方法が実際には記載されていません。

さまざまな回答が、インポート後に UTF-8 に変換する関数を記述していますが、それは私にとって有効な解決策ではありません。dplyr パッケージを使用して oracle DB にクエリを実行したいのですが、 のような文字を使用してクエリできるようにする必要がありますæøå

これが私の接続文字列と、テストとして使用する sql-query です。

library(ROracle)

drv <- dbDriver("Oracle", unicode_as_utf8 = TRUE, ora.attributes = TRUE)
# Create the connection string
host <- "xx.xxx.xx.x"
port <- xxxx
sid <- "xxxxxx"
connect.string <- paste(
  "(DESCRIPTION=",
  "(ADDRESS=(PROTOCOL=tcp)(HOST=", host, ")(PORT=", port, "))",
  "(CONNECT_DATA=(SID=", sid, ")))", sep = "")
con <- dbConnect(drv, username = "",
                 password = "",dbname=connect.string)

test <- dbGetQuery(con, "SELECT DECODE FROM T_CODE where key_id=17")

これにより、次のような結果が得られます。R?dgivningskontor

ここに私のセッション情報があります:

R version 3.5.0 (2018-04-23)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.4

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] ROracle_1.3-1 DBI_1.0.0    

loaded via a namespace (and not attached):
[1] compiler_3.5.0 tools_3.5.0    yaml_2.1.19  
4

2 に答える 2