로드 데이터 로컬 INFILE에 문제가있어서 utf8 파일을로드 중입니다. 쿼리는 다음과 같습니다특수 문자가있는 MySQL LOAD DATA INFILE 문제
LOAD DATA LOCAL INFILE 'file.csv' INTO TABLE artikel CHARACTER SET UTF8
FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
그러나 "Dämmung"와 같은 특수 문자 필드가 "D"에 절단됩니다.
SHOW VARIABLES LIKE '%_set_%';
utf8로 설정되었으며, 메모장 ++을 사용하여 파일이 utf8인지 확인합니다. 누군가가 조언을 알고 있다면 정말 도움이 될
, 그것은 거대한 파일 그리고 나는 수동으로 잘못된 필드를 입력하지 않도록하고 싶습니다 : -/
:이 솔루션의 단점은 당신이 가져 오는 동안 외래 키 체크를 해제하려는 경우 SUPER 권한을 요구하는, 전 세계적으로 사용하지 않도록 설정해야합니다 (MyISAM 테이블에 적용되지 않습니다)이다 연결, 데이터베이스, 테이블 및 열 인코딩을 CSV 파일에 저장된 것과 동일한 문자 집합으로 변환합니다. –
@SathishD : 아니요, 그렇지 않습니다.하지만 그렇게해도 OP는 모든 문자 집합 변수가 utf8로 이미 설정되어 있음을 나타냅니다. * 인코딩 열이 파일 *의 모든 문자를 지원하지 않을지라도 (파일과 동일한 인코딩 일 필요는 없음) 데이터는 잘릴 수 있습니다. – eggyal
빠른 답변 주셔서 감사합니다! 그 원인은 위의 쿼리가 정확하도록 테이블을 올바르게 업데이트하지 않은 선택 쿼리였습니다. Sry guys, 내 잘못 – user3181103