Ответы:
Я установил следующую локаль, относящуюся к настройке /etc/bashrc
(для всех пользователей bash
):
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_COLLATE=C
export LC_CTYPE=en_US.UTF-8
затем запустите:
source /etc/bashrc
или выйдите и войдите.
lang.sh
и это сработало 👍.
Бегать
yum reinstall glibc-common
а затем убедитесь, что ни один процесс не удаляет файлы /usr/lib/locale/locale-archive.*.
glibc-langpack-<language>
, например glibc-langpack-en
.
Я получал ту же ошибку на MacOS. Когда вы подключаетесь к Linux, они отказываются устанавливать UTF-8
локаль. Вы можете увидеть различия в настройке локали, запустив locale
команду на своем терминале MacOS и в окне Linux.
Чтобы исправить эту ошибку, откройте терминал -> настройки -> профили -> расширенные и не установлены Set locale environment variables on startup
на вашем Mac.
Теперь, когда вы работаете locale
на Mac. Вы можете видеть , что это изменение установлено , LC_CTYPE="C"
которое было LC_CTYPE="UTF-8"
с предыдущей настройкой.
Вы должны будете закрыть свой терминал, чтобы воспользоваться этим эффектом, а затем войдите в свой ящик Linux и запустите yum update
.
Надеюсь, это поможет :)
Если вы использовали SSH для подключения к этому хосту с настольным компьютером, это общая для /etc/ssh/sshd_config
содержать
AcceptEnv LANG LC_*
что позволяет клиентам распространять значения этих переменных среды в новые сеансы. Однако это приведет к тому, что переменные языкового стандарта будут сброшены обратно в рамках вашего сеанса SSH на сервере, который вы настраиваете, если языковой стандарт сначала не был правильно установлен на вашей машине DESKTOP .
Чинить:
Например, в окне Windows 10 Ubuntu Shell сначала выполните ( ПРИМЕЧАНИЕ: измените все записи ниже, чтобы они соответствовали вашей локали, если это не «en_US.UTF-8» ):
sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales
Затем закройте окно оболочки Ubuntu и снова откройте его, а затем введите SSH на сервер, который вы пытаетесь настроить, и посмотрите, все ли в порядке ...
Если нет, то SSH на ваш сервер и выполните:
vi /etc/profile.d/custom.lang.sh
Затем нажмите, I
чтобы войти в режим «вставки». Затем вставьте следующие записи. Затем ZZ
сохранить и выйти:
## US English ##
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
Затем выполните следующее:
source /etc/profile.d/lang.sh
source /etc/profile.d/custom.lang.sh
Потом:
reboot
Посмотрите, заставит ли это все прекратить жаловаться на локаль варс!
/etc/profile.d/lang.sh
а не то,/etc/bashrc
что может быть перезаписано обновлением.