Невозможно установить LC_CTYPE в стандартную локаль: нет такого файла или каталога

17

У меня есть точный вопрос, но нет решения. Я пробовал, но он не работает.

Как исправить мою проблему с локалью?

$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

$ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
C
C.UTF-8
en_US.utf8
POSIX

Это из-за несоответствия en_US.UTF-8 и en_US.utf8?

Как исправить?

    
задан Lucas 22.03.2015 в 10:57
источник

5 ответов

24

Откройте терминал и запустите команду ниже:

export LC_ALL="en_US.UTF-8"
    
ответ дан Nazar 24.03.2016 в 18:23
15

Эта же проблема (LC_CTYPE = UTF-8, которая неверна) может произойти, когда вы переходите через ssh из Mac в linux, а ваш терминал автоматически устанавливает переменные среды. Для этого есть флажок. Снимите флажок, и вам хорошо идти. В iTerm он находится на вкладке «Профиль» и «Терминал».

    
ответ дан raarts 28.05.2016 в 14:38
6

У меня была аналогичная проблема, и я добавил строки ниже в файле /etc/default/locale :

LC_CTYPE="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LANG="en_US.UTF-8"

Я получил это из этого сообщения: Как исправить мою проблему с локалью?     

ответ дан san1512 14.03.2016 в 15:58
4

Результат команды locale указывает, что у вас есть эта неправильная строка в вашей среде:

LC_CTYPE="UTF-8"

(«UTF-8» не является допустимым именем локали.)

Обычно это происходит от /etc/default/locale . Удалите эту строку, если она есть, и перелоги.

Если это не произойдет, оно может исходить из конфигурации вашей оболочки или если вы вошли в систему удаленно через SSH, из конфигурации клиентской машины.

    
ответ дан Gunnar Hjalmarsson 22.03.2015 в 11:39
2

Файл / etc / default / locale может иметь дополнительные (но ненужные) строки: Пример файла может выглядеть следующим образом:

#  File generated by update-locale
LANG=en_US.UTF-8
LANGUAGE="en_IN:en

Чтобы отсортировать и успешно сгенерировать и перенастроить локали, удалить или прокомментировать все строки из этого файла, кроме:

LANG=en_US.UTF-8

Файл должен выглядеть следующим образом:

#  File generated by update-locale
LANG=en_US.UTF-8
# LANGUAGE="en_IN:en

После этого запустите dpkg-reconfigure locales , выберите en_US.UTF-8, когда будет предложено выбрать локаль, и вам должно быть хорошо идти. Когда процесс будет завершен, вы получите сообщение Generation complete. .

    
ответ дан Ambar 27.08.2016 в 08:54