Некоторые символы не могут быть напечатаны в стандартном выпуске [дубликат]

У этого вопроса уже есть ответ здесь: Как исправить мою проблему с локалью? 18 ответов

Я использую сервер (по ssh), и поскольку я французский, я бы хотел использовать символы, такие как «à», «ç» и «é». Однако они просто не могут быть напечатаны на стандартном выходе, будь то когда я нажимаю соответствующую клавишу на моей клавиатуре (она просто игнорирует ключ) или когда я запускаю сценарий, который должен их печатать. Например, скрипт Python будет повышаться:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-3: ordinal not in range(128)

Следуя некоторым советам, я посмотрел на язык:

$ locale
LANG=C
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

Итак, я открыл файл / etc / default / locale и изменил его с:

LANG="C"

до

LANG=fr_FR.UTF-8

Он по-прежнему не работает, но вызов локали теперь говорит мне:

$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
[d11 ] Любые идеи, как я мог это исправить?

1
задан 12 October 2016 в 12:15

1 ответ

Вам также нужно избавиться от этих ошибок локали, создав локаль fr_FR.UTF-8:

sudo locale-gen fr_FR.UTF-8
1
ответ дан 23 May 2018 в 05:16
  • 1
    На самом деле мне это не казалось нужным. Что он должен делать? Изменить / etc / default / locale? Что-то другое ? – Anne Aunyme 13 October 2016 в 10:42
  • 2
    @AnneAunyme: Как я уже сказал, он генерирует локаль, которую вы укажете системе в /etc/default/locale. Установка LANGUAGE может быть достаточной для некоторых аспектов совместимых с GNU программ, но вы действительно должны избавиться от этих сообщений об ошибках при запуске команды locale. – Gunnar Hjalmarsson 13 October 2016 в 11:27
  • 3
    Эти ошибки произошли только при изменении файла вручную. Пока (после возврата к исходному файлу и применения моего ответа) все кажется прекрасным. – Anne Aunyme 13 October 2016 в 11:42
  • 4
    @AnneAunyme: Это звучит странно, но хорошо, в этом случае все хорошо. :) – Gunnar Hjalmarsson 13 October 2016 в 11:51

Другие вопросы по тегам:

Похожие вопросы: