집 >데이터 베이스 >MySQL 튜토리얼 >R의 MySQL에서 UTF-8 텍스트를 검색할 때 \'????????\' 문자가 표시되는 이유는 무엇입니까?
R의 MySQL에서 UTF-8 텍스트 검색: "????" 디코딩
MySQL에서 UTF-8로 인코딩된 텍스트 검색 R에 대한 MySQL 데이터베이스는 때때로 "?????"를 초래할 수 있습니다. 문자. 이 문제를 해결하려면 다음을 고려하십시오.
1. 데이터베이스 인코딩 확인
데이터베이스 테이블이 적절한 문자 세트와 데이터 정렬로 정의되었는지 확인하세요. 예를 들어 MySQL의 경우:
CREATE TABLE test (str VARCHAR(10)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2. 연결 인코딩 설정
R에서 데이터베이스 연결을 설정할 때 올바른 문자 인코딩을 지정하세요.
RODBC:
con <- odbcDriverConnect('DRIVER=mysql;user=root', CharSet='utf8')
RMySQL:
먼저 연결한 후 실행:
dbConnect(MySQL(), user='root') dbSendQuery(con, 'SET NAMES utf8')
3. 문자 인코딩 변환
결과를 검색한 후 문자열 열의 문자 인코딩을 UTF-8로 변환합니다.
RODBC:
res <- sqlQuery(con, 'SELECT * FROM rtest.test') res$str <- iconv(res$str, "UTF-8-Mac")
RMySQL:
res <- dbGetQuery(con, 'SELECT * FROM rtest.test') res$str <- as.character(res$str, encoding = 'UTF-8')
추가 참고 사항:
위 내용은 R의 MySQL에서 UTF-8 텍스트를 검색할 때 \'????????\' 문자가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!