Как я могу установить LANG в ascii?
Вопрос
Я получаю доступ к компьютеру Ubuntu, используя PuTTY и используя gcc.
Значение по умолчанию LANG
переменная среды на этом компьютере имеет значение en_NZ.UTF-8
, что заставляет GCC думать, что PuTTY способен отображать текст в формате UTF-8, чего, похоже, нет.Может быть, это мой шрифт, я не знаю - он делает это:
foo.c:1: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â at end of input
Если я установлю его с помощью export LANG=en_NZ
, тогда это заставляет GCC вести себя корректно, я получаю:
foo.c:1: error: expected '=', ',', ';', 'asm' or '__attribute__' at end of input
но тогда это приводит к тому, что все остальное идет наперекосяк.Например
man foo
man: can't set the locale; make sure $LC_* and $LANG are correct
Я просмотрел Google и ни за что на свете не смогу найти, что мне нужно туда вставить, чтобы он просто использовал ASCII. en_NZ.ASCII
не работает, как и все остальные вещи, которые я могу найти.
Спасибо
Решение
LANG=en_NZ
это правильно.Однако вы должны создать файлы локали для en_NZ
.
Для Ubuntu отредактируйте /var/lib/locales/supported.d/local
и добавить en_NZ ISO-8859-1
к файлу.Если ваша система представляет собой другой дистрибутив (включая Debian), расположение будет другим.Посмотрите на /usr/sbin/locale-gen
и посмотрите, где он хранит эту информацию.
После этого запускайте locale-gen
для создания en_NZ
файл локали.Надеюсь, это поможет!
Другие советы
Putty может отображать utf - я думаю, что это по внешнему виду -> перевод (или что-то в этом роде, у меня сейчас нет к нему доступа).
Для Debian 5.0 Ленни:
aptitude install locales
Если это уже установлено:
dpkg-reconfigure locales