R, Python, DB 備忘録

データベースとか、jupyter(Python)、Rとか色々

MonetDB+R:入力文字列 5 はこのロケールでは不適切です

内容

ポピュラーなDBは使っているOSに合わせたエンコーディングで結果を返してくれるがMonetDBはUTF-8固定
なので、RODBCをオプションなしで使うと文字化けが発生する。

Warning message in FUN(X[[i]], ...):
" 入力文字列 5 はこのロケールでは不適切です "
Warning message in FUN(X[[i]], ...):
" 入力文字列 6 はこのロケールでは不適切です "
Warning message in FUN(X[[i]], ...):
" 入力文字列 5 はこのロケールでは不適切です "

解決法

接続を作るときにはエンコーディングを指定する。

dbCon <- odbcConnect("MonetDB", DBMSencoding='utf-8')