iconv가 해당 문자를 변환할 수 없습니다.

iconv가 해당 문자를 변환할 수 없습니다.

cat은 올바르게 표시할 수 있지만 vi나 gedit는 할 수 없기 때문에 txt 파일을 UTF-8로 변환하고 싶습니다.

$ cat test.txt 
>#
>‹
|
||
°
├──
└──
_
__
$ iconv -f WINDOWS-1253 -t UTF-8 test.txt 
>#
>β€Ή
|
||
Β°
β”iconv: illegal input sequence at position 18
$ 

묻다: txt를 UTF-8로 변환하는 방법은 무엇입니까? iconv가 작동하지 않습니다.

답변1

파일에 와 같은 문자가 포함되어 있습니다 .윈도우-1253이므로 iconv실패 여부에 관계없이 올바른 입력 인코딩을 지정하지 않았으므로 출력이 잘못되었습니다.

cat파일이 올바르게 표시 되면 파일의 인코딩은 터미널의 인코딩과 동일합니다. 명령을 실행 locale하고 줄을 보고 LC_CTYPE터미널이 사용하는 인코딩을 확인하세요. 실제로 파일은 이미 UTF-8로 인코딩되었을 가능성이 높습니다.

Vi와 Gedit는 파일의 인코딩을 자동으로 감지하지 못하는 것 같습니다. 특정 인코딩을 사용하도록 구성했습니까? 그렇다면 하지 마십시오. 그렇지 않은 경우 Gedit에서 파일을 열 때 "자동 감지" 대신 "UTF-8"을 선택하십시오. Vim에서는 :set encoding=utf-8.

답변2

소스 캐릭터는 ATARI인 것 같습니다. -f ATARI 또는 ​​-f ATARIST를 사용해 보세요.

관련 정보