Versions:
리눅스 2.6; 4.1.2 아이콘;
ISO 변환은 오류를 반환하지 않지만 변환된 파일은 여전히 다음과 같이 나타납니다.US-ASCII.
질문foobar.txt
UTF-8로 트랜스코딩하는 방법은 무엇입니까 ?
$> file -bi foobar.txt
text/plain; charset=us-ascii
$> iconv -f US-ASCII -t UTF-8 foobar.txt > foobar_utf8.txt
iconv: illegal input sequence at position 573167
$>iconv -f ISO-8859-1 -t UTF-8 foobar.txt > foobar_utf8.txt
$>
$> file foobar_utf8.txt
foobar_utf8.txt: ASCII text
답변1
ASCII는 항상 올바른 UTF-8이므로 변환이 필요하지 않습니다.예전에는ASCII.
이 file
유틸리티는 전체 파일을 보지 않고 시작 부분만 봅니다. 충분히 크면 file
ASCII가 아닌 바이트를 무시할 수 있습니다. 아마도 가능한 모든 고려 사항의 "시작"이 573167
지났을 것입니다 .file
반면에 iconv
변환 만 사용할 수 있습니다.모두 다 아는문자 집합은 UTF-8입니다. 몇 가지 가능한 옵션을 시도하고 성공 여부를 확인한 다음 결과 파일을 비교할 수 있습니다.
예를 들어 파일이 ISO-8859-x 버전 중 하나인 경우 생성된 파일을 검사하여 성공 여부를 측정해야 합니다. iconv
파일은 573167바이트 이후에만 문제가 발생하므로 해당 cut
문자 오프셋에서 시작하는 파일 부분 추출을 사용하여 file
식별해 볼 수 있습니다.