1

У меня есть файл, который я назвал æøå.js (просто пример), и когда я запускаю ls в каталоге, где он хранится, я получаю

root@chu:~/projects/someproject/server# ls src
a.js  b.js  ??????.js

Таким образом, кажется, что такие символы не могут быть отображены. PuTTY должен ожидать UTF-8, и мой env выглядит так

TERM=xterm
SHELL=/bin/bash
USER=root
LANG=en_GB.UTF-8
SHLVL=1
HOME=/root
LANGUAGE=en_US:en
LS_OPTIONS=--color=auto
PYTHONPATH=:/root/pymodules
LOGNAME=root
_=/usr/bin/env

(Я удалил некоторые вещи из этого вывода, так как они не могут быть релевантными в любом случае)

Но вот в чем дело; Когда я открываю файл с помощью vim я могу напечатать и увидеть все эти символы без проблем. Так что проблема, видимо, только в shell/bash. Могу ли я указать какие-либо настройки, которые позволят bash отображать эти символы? Может кто-нибудь также объяснить, почему это не работает сейчас, с UTF-8?


Изменить: Вот как tree отображает æøå.js

|-- src
|   |-- a.js
|   |-- b.js
|   `-- \303\246\303\270\303\245.js

1 ответ1

7

Как я уже объяснял, дважды, в нашем предыдущем обсуждении, проблема в том, что ваша конфигурация локали указывает на несуществующую локаль.

Ваша среда, включая $ LANG, в порядке; однако должен быть создан языковой стандарт en_GB.UTF-8 .

В большинстве дистрибутивов (включая Debian):

  1. Откройте /etc/locale.gen в текстовом редакторе.
  2. Раскомментируйте строку en_GB.UTF-8 , удалив начальный # .
  3. Запустите locale-gen от имени пользователя root.

На Debian:

  1. Запустите dpkg-reconfigure locales как root.
  2. Прокрутите вниз до записи en_GB.UTF-8 отметьте его с Космосом.
  3. Выберите OK с помощью Tab, Enter.

Кроме того, для записи, ls - отдельная программа; это не часть bash.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .