2017-10-18 13 views
0

Microsoft Access 데이터베이스에 대한 쿼리에서 일본어 문자를 처리하는 방법을 알고 싶습니다. R. RODBC 패키지의 odbcQuery 함수를 사용하여 일본어로 작성된 변수 이름을 선택하는 쿼리를 사용하려고합니다.MS 액세스 데이터베이스 (RStudio)에서 쿼리의 일본어 문자 처리

Windows와 함께 일하고 있습니다. 내 RStudio 버전은 1.1.383이고 내 버전은 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]'" 

, 月 日이 + 6708과 U로 전환되었다 U + 65E5 오류 메시지가 나타납니다. 이 두 문자는 UTF-8 코드입니다. 그래서 UTF-8로 인코딩 된 문자열이 MS Access에 보내지지만 MS Access에서는 읽을 수 없습니다. MS Access는 쿼리 실행 프로세스의 일부입니까?

그래서 RStudio와 MS Access가 서로를 이해하지 못하는 인코딩 문제 여야합니다. 일본어 문자와 비슷한 문제를 볼 때 문제는 대개 표에 값을 표시하는 것이 었습니다. 여기서 변수 이름은 일본어로되어 있으므로 쿼리가 전혀 작동하지 않습니다.

나는 꽤 잃어 버렸기 때문에 어떤 아이디어 나 발언을 할 수있다.

감사합니다.

+0

''DBMSencoding'을''UTF-8 ''로 설정하려고 시도 했습니까? (예 :''abc ", uid ="123 ", pwd ="123 ", DBMSencoding ="UTF-8 ")') –

+0

신속한 답변 주셔서 감사합니다! odbcConnectAccess 함수를 사용하고 있습니다. 나는 행운과 함께 이것을 시도했다. 어딘가에서 제어판의 유니 코드가 아닌 프로그램의 언어를 일본어로 변경하는 것이 흥미로울 수 있음을 발견했습니다. 내가 이것을 한 후에 나의 테이블의 일본어 문자는 더 이상 ??? 그러나 완전한 횡설수설로서. 예를 들어 東 日本은 '† •'가됩니다. 그래서 인코딩은 대부분 유니 코드가 아닙니다. DBMSendcoding (Shift-JIS, windows-1255 ...) 옵션을 사용하여 다양한 가능성을 시도했지만 아무 소용이 없습니다. – JDoe

+0

좋아, 그래서 아마 내가 일본어 문자를 포함하는 쿼리를 사용하지 않고 전체 테이블을 읽으려고 추가해야합니다. 위의 주석은 RStuido에서이 전체 테이블 쿼리의 결과를 설명합니다. – JDoe

답변

0

나는 this post에 대한 답변을 찾았습니다.

적어도 내 경우에는 데이터를 가져 오기 전에 로케일을 Japanese_Japan.932으로 설정해야했습니다. 다음은이 명령에 대한 코드입니다 :

Sys.setlocale("LC_ALL", locale = "Japanese_Japan.932") 

은 그럼 인코딩을 변경하지 않고도 Access에서 내 데이터를 수입하고, 일본 문자는 결과 데이터 프레임에 올바르게 표시됩니다. 또한 쿼리의 일본어 문자를 이해할 수 있습니다.