PostgreSQL データベースに直接リンクされている Windows マシンで R を実行しています。私はRODBCを使用していません。私のデータベースは、次の R コマンドで確認できるように UTF-8 でエンコードされています。
dbGetQuery(con, "SHOW CLIENT_ENCODING")
# client_encoding
# 1 UTF8
ただし、一部のテキストが R に読み込まれると、R では奇妙なテキストとして表示されます。
たとえば、次のテキストが PostgreSQL データベースに表示されます: "Stéphane"
R にエクスポートすると、次のように表示されます: "Stéphane" ( éはéとしてエンコードされます)
RI にインポートするときは、コマンドを使用しdbConnect
て接続を確立し、dbGetQuery
コマンドを使用して SQL を使用してデータを照会します。データベースに接続するときやクエリを実行するときに、テキスト エンコーディングをどこにも指定しません。
オンラインで検索しましたが、問題の直接的な解決策が見つかりません。私はこのリンクを見つけましたが、彼らの問題は私が使用していないRODBCにあります。
このリンクはシンボルを識別するのに役立ちますが、R で検索と置換を行いたいだけではありません...データが多すぎます。
以下のコマンドを実行してみましたが、警告が表示されました。
Sys.setlocale("LC_ALL", "en_US.UTF-8")
# [1] ""
# Warning message:
# In Sys.setlocale("LC_ALL", "en_US.UTF-8") :
# OS reports request to set locale to "en_US.UTF-8" cannot be honored
Sys.setenv(LANG="en_US.UTF-8")
Sys.setenv(LC_CTYPE="UTF-8")
コマンドで警告が発生しSys.setlocale("LC_ALL", "en_US.UTF-8")
ます。私の直感では、これは Windows 固有の問題であり、Mac/Linux/Unix では発生しません。