LC_ALL=ru_RU.CP1251 less ~/t/show_discounts.js
이 CP1251 파일을 보아야 할 대로 표시하는 대신 의미 없는 문자를 표시합니다.
less
지정된 인코딩이 제대로 작동하도록 하려면 어떻게 해야 합니까 ?
Debian Linux, Gnome Terminal, 시스템 구성 en_US.UTF-8
.
답변1
less
다음으로 실행
LC_ALL=ru_RU.CP1251 less file
ru_RU.CP1251
해당 로케일이 시스템에 존재하는 경우 ( LC_ALL=ru_RU.CP1251 locale charmap
CP1252가 반환되는지 확인) less
해당 로케일에 있는 것입니다. 이는 file
해당 문자 집합으로 인코딩됨을 의미합니다.그리고터미널은 이 문자 집합을 사용합니다.
터미널 에뮬레이터가 UTF-8 문자 세트가 있는 로케일에서 시작되면 UTF-8로 인코딩된 문자를 예상하므로 less
해당 CP1251 인코딩 문자를 어떻게 처리할지 알 수 없습니다.
또한 해당 로케일에서 터미널 에뮬레이터를 시작해야 하거나 luit
이를 사용하여 번역을 수행할 수 있습니다(터미널의 문자 집합이 UTF-8이라고 가정).
또는 다음 iconv
을 사용하여 파일을 터미널의 로캘 문자 집합으로 변환할 수 있습니다.
iconv -f CP1251 < file | less