У меня есть сервер AlmaLinux, в котором я борюсь с некоторыми проблемами кодировки. Например, если я введу это в CLI:
mkdir asdfü
ls ./
я получил
'asdf'$'\303\274'
Как я могу это исправить?
решение1
Похоже, что ваш терминал настроен на ввод/вывод в кодировке UTF-8, но ваш сеанс оболочки находится в локали с другим набором символов, в котором байты 0303 и 0274 (восьмеричный) по отдельности или в комбинации не образуют допустимый печатный символ. Скорее всего, эта локаль — C
/ POSIX
(локаль по умолчанию, если она не определена или определена неправильно), а набор символов — ASCII (он же ANSI_X3.4-1968), который не определяет ни одного символа для байтов 0303 и 0274 (любой байт выше 0177).
locale charmap
Сообщит вам, какая кодировка используется в локали.
locale
Покажет вам конфигурацию локали.
Вероятно, вам захочется сменить $LANG
локаль хотя бы на ту, где кодировка UTF-8 соответствует вашим предпочтениям.
locale -a
Выдаст вам список доступных локалей на сервере.