utf-8로 인코딩 된 아랍어, 영어, 러시아어 파일이 많이 있습니다. Perl 스크립트를 사용하여 이러한 파일을 처리하려고하면 다음 오류가 발생합니다.
Malformed UTF-8 character (fatal)
이 파일의 내용을 수동으로 확인한 결과 이상한 문자가 발견되었습니다. 이제 파일에서 이러한 문자를 자동으로 제거하는 방법을 찾고 있습니다.
어쨌든 그것을 할 수 있습니까?
utf-8로 인코딩 된 아랍어, 영어, 러시아어 파일이 많이 있습니다. Perl 스크립트를 사용하여 이러한 파일을 처리하려고하면 다음 오류가 발생합니다.
Malformed UTF-8 character (fatal)
이 파일의 내용을 수동으로 확인한 결과 이상한 문자가 발견되었습니다. 이제 파일에서 이러한 문자를 자동으로 제거하는 방법을 찾고 있습니다.
어쨌든 그것을 할 수 있습니까?
답변:
이 명령 :
iconv -f utf-8 -t utf-8 -c file.txt
잘못된 모든 문자를 건너 뛰고 UTF-8 파일을 정리합니다.
-f is the source format
-t the target format
-c skips any invalid sequence
pbpaste | iconv -f utf-8 -t -utf-8 -c | pbcopy
.. 또한 .NET을 대상으로 모든 특수 문자를 제거하기위한 전역 바로 가기가있는 Alfred 워크 플로를 만들었습니다 ascii
.
iconv -f utf-8 -t ascii//TRANSLIT
내 문제를 해결했습니다. 둥근 따옴표를 곧은 따옴표로 변환합니다.
-o
다른 출력 파일 용
귀하의 메소드는 바이트 단위로 읽고 바이트 단위의 문자 구성을 완전히 이해하고 이해해야합니다. 가장 간단한 방법은 UTF-8 문자 만 출력하는 편집기를 사용하는 것입니다. Textpad는 하나의 선택입니다.
cat foo.txt | strings -n 8 > bar.txt
일을 할 것입니다.