Microsoft Accessデータベースへのクエリで日本語文字を処理する方法を知りたいと思います。私はRでRODBCパッケージから関数odbcQueryを使用して日本語で書かれた変数名を選択するクエリを使用しようとしていますMS Accessデータベース(RStudio)へのクエリで日本語文字を扱う
私はWindowsで作業しています。 RStudioの私のバージョンは1.1.383で、私のAccessのバージョンは14.0.7015.1000(32ビット)です。
私はRが私のクエリでの日本語の文字を理解すると思うが、私は実際に私は次のエラーメッセージを取得クエリ実行しようとすると:ここ
> query <- "SELECT [LOA-FTD_1_5_1_CALCULATE_LOA_query].月日 FROM [LOA-FTD_1_5_1_CALCULATE_LOA_query]"
> sqlQuery(channel,query)
[1] "42000 -3100 [Microsoft][ODBC Microsoft Access Driver] Syntax error in query expression '[LOA-FTD_1_5_1_CALCULATE_LOA_query].<U+6708><U+65E5>'."
[2] "[RODBC] ERROR: Could not SQLExecDirect 'SELECT [LOA-FTD_1_5_1_CALCULATE_LOA_query].<U+6708><U+65E5> FROM [LOA-FTD_1_5_1_CALCULATE_LOA_query]'"
を、月日は、U + 6708に変換したとエラーメッセージでU + 65E5を入力します。これらは2つの文字のUTF-8コードなので、文字列はUTF-8でMS Accessにエンコードされて送信されますが、MS Accessはそれを読み取れません。 MS Accessはクエリを実行するプロセスの一部でもありますか?
したがって、RStudioとMS Accessが互いに理解しないエンコーディングの問題である必要があります。私が日本語の文字と同様の問題を見たとき、問題は通常、値をテーブルに表示することでした。ここで変数名は日本語であるため、クエリはまったく機能しません。
私はかなり失われていますので、私はどんなアイデアや発言にもオープンしています。
ありがとうございます。
'' DBMSencoding'を '' UTF-8 ''に設定しようとしましたか? (例えば、 '' abc "、uid =" 123 "、pwd =" 123 "、DBMSencoding =" UTF-8 ")') –
あなたの素早い回答ありがとうございます! odbcConnectAccess関数を使用しています。私は運がない、これを試した。私はどこかで、コントロールパネルの非Unicodeプログラムの言語を日本語に変更するのが面白いことが分かった。私がこれをした後、私のテーブルの日本語の文字はもはや???しかし完全な不器用さとして。 たとえば東日本は「†・」になります。 したがって、エンコードはUnicodeではない可能性があります。 私はDBMSendcodingオプション(Shift-JIS、windows-1255 ...)の下でさまざまな可能性を試しましたが、役に立たないです。 – JDoe
日本語の文字を含むクエリを使わずにテーブル全体を読み込もうとしました。上記のコメントは、RStuidoでのこのテーブル全体のクエリの出力を示しています。 – JDoe