
다음과 같은 파일이 포함된 디렉토리 목록이 있습니다.
drwxr-xr-x 2 nobody nogroup 4096 2011-01-11 21:06 Капкан
drwxr-xr-x 3 nobody nogroup 4096 2011-11-17 08:40 СБПЧ
이러한 파일 이름을 프롬프트에 복사/붙여넣기하거나 직접 입력하면 Latin-1 문자처럼 작업할 수 있을 것으로 기대합니다.
대신 다음과 같은 결과를 얻습니다.
# Pasting "Капкан"
$ :?апкан
첫 번째 문자가 " "로 대체된 것을 볼 수 있습니다 :?
. 그러면 문자를 삭제하는 것 외에는 문자를 왼쪽으로 이동할 수 없습니다. 키보드 기반 입력은 동일한 결과를 생성합니다. tmux
또는 screen
잡아당기기/붙여넣기를 수행해도 동일한 결과가 생성됩니다.
이 상황을 어떻게 진단해야 할지 모르겠습니다! 이것은 꽤 오래된 데비안 배포판( $ uname -a Linux weezy 2.6.37.6.RNx86_32.1.4 #1 Thu Jul 26 04:49:29 PDT 2012 i686 GNU/Linux
)이지만 여전히 UTF-8 파일 이름이 예상대로 작동하도록 하는 방법이 있다고 생각합니다.
저는 OS X를 사용하고 Terminal.app
있으며 TERM
로 설정되어 있습니다 xterm-color
.
나는 이 파일 이름이 UTF-8을 사용하여 인코딩되었다고 생각합니다. 나는 Bash 3.1.17을 사용하고 있으며 다음은 내 출력입니다 locale
.
$ locale
LANG=
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=en_US.utf8
내 결과는 다음과 같습니다 $ locale -a
.
C
de_DE.utf8
en_US.utf8
ja_JP.utf8
ko_KR.utf8
nl_NL.utf8
POSIX
zh_CN.utf8
zh_TW.utf8
ru_RU.UTF-8
에서 설치하는 것을 고려하고 싶지만 /etc/locale.gen
와 같은 기본 라틴 문자에도 문제가 있습니다 á
.
답변1
위의 설명에 따르면 Terminal.app Escape non-ASCII characters
설정을 조작하면 문제가 해결된 것 같습니다. 이 작업을 올바르게 수행하려면 어떤 방향으로 조작해야 하는지 혼란스럽습니다.