
У меня есть список каталогов с файлами вроде:
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
копирование/вставка дают те же результаты.
Я не уверен, как диагностировать эту ситуацию! Это довольно старый дистрибутив Debian ( $ 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
Согласно комментариям выше, вертение Escape non-ASCII characters
настроек Terminal.app, похоже, решило проблему. Хотя я остался в замешательстве относительно направления, в котором вертение было необходимо, чтобы заставить это работать правильно.