![서부 인코딩(ISO-8859-1)으로 인코딩된 텍스트 파일을 읽는 데 문제가 있습니다.](https://linux55.com/image/90767/%EC%84%9C%EB%B6%80%20%EC%9D%B8%EC%BD%94%EB%94%A9(ISO-8859-1)%EC%9C%BC%EB%A1%9C%20%EC%9D%B8%EC%BD%94%EB%94%A9%EB%90%9C%20%ED%85%8D%EC%8A%A4%ED%8A%B8%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%9D%BD%EB%8A%94%20%EB%8D%B0%20%EB%AC%B8%EC%A0%9C%EA%B0%80%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
다음과 같이 ISO-8859-1 텍스트 파일(폴란드어 자막) 인코딩에 문제가 있습니다.
Mieszka³ 샘, |¿ 아드네이 ¿ 온니, 지에시.
"Mieszkał sam, żadnej żony, dzieci"여야 합니다.
나는 시도했다:
- iconv를 사용하여 텍스트 파일을 UTF-8로 변환
- Medit를 사용하여 인코딩을 UTF-8로 변경하세요.
- 시스템 언어를 폴란드어로 변경합니다. (시스템 언어에서는 영어 로케일을 사용하고 있지만 폴란드어 키보드 설정은 사용하고 있습니다.)
저는 Arch Linux 배포판을 사용하고 있습니다. 사건에 영향을 미칠 수 있으니 현장 정보를 올려드리겠습니다.
locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=pl_PL.UTF-8
LC_TIME=pl_PL.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=pl_PL.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=pl_PL.UTF-8
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT=pl_PL.UTF-8
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
모든 답변에 감사드립니다.
답변1
폴란드어의 표준 8비트 인코딩은 다음과 같습니다.latin2(일명 ISO 8859-2). 3는 ł, ¿를 나타냅니다. ż 등을 나타내는 텍스트는 latin2 텍스트를 나타내는 바이트 시퀀스를 마치 latin1을 나타내는 것처럼 해석한 결과입니다. ISO 8859-1이라고도 알려진 Latin1은 대부분의 서유럽 언어에 대한 표준 인코딩입니다.
텍스트가 latin2로 인코딩된 경우 latin1에서 UTF-8이 아닌 latin2에서 UTF-8로 변환해야 합니다.
iconv -f latin2 -t utf8
( -t utf8
UTF-8 로케일을 호출하기 때문에 이는 선택 사항입니다.)
텍스트를 읽으면서 표시한다면 이는 어느 시점에서 8비트에서 유니코드로 제대로 변환되지 않았음을 의미합니다. 이를 수정하려면 원시 바이트로 다시 변환한 다음 인코딩으로 변환하세요.
iconv -f utf8 -t latin1 | iconv -f latin2 -t utf8
답변2
해결책을 찾았으며 동일한 문제를 겪고 있는 다른 사람들에게 도움이 될 수 있으므로 답변을 여기에 남겨 두겠습니다.
다양한 인코딩을 사용하여 텍스트 파일을 열어보세요! 나(폴란드인)의 경우 CP1250(중앙 유럽)입니다. 이렇게 하려면 gedit를 열고 "열기" 옵션을 선택한 후 필요한 파일을 찾으세요. 그런 다음 문자 인코딩(왼쪽 하단)을 선택하고 "WINDOWS-1250"을 선택합니다.
영화 자막과 연결되어 있기 때문에 영화 자막을 실행하기 전에 매번 수동으로 인코딩을 변경할 필요가 없습니다. 거의 모든 비디오 플레이어에는 기본 자막 인코딩을 선택할 수 있는 옵션이 있습니다. 폴란드어의 경우 Windows-1250을 선택하면 응용 프로그램이 해당 인코딩으로 인코딩된 것처럼 자막을 읽습니다.
어쨌든 Giles에게 도움을 주셔서 감사합니다!