Как исправить проблему UTF-8/локали в openSUSE Linux (в терминале/именах файлов и диалогах программ)

Возможно, вам нужны только файлы, тогда используйте tar. Вы можете заполнить нулями блоки, которые не содержат ничего, что вы хотите, кто-то уже спрашивал об этом. Очистить неиспользуемое пространство нулями (ext3,ext4)

Затем есть pigz, который обычно быстрее, чем gzip.

0
10.08.2019, 01:16
1 ответ

Это сообщениеlocale: Cannot set LC_ALL to default locale: No such file or directoryсообщает вам, что одна из локалей, которые вы пытаетесь использовать, не существует. Дело не в переменной среды $LC_ALL, localeпросто сообщает об ошибке, когда вызов setlocale(LC_ALL, ""), который он выполняет для инициализации локализации на основе переменных среды, возвращает NULL, указывающий, что локаль, настроенная с помощью одной из различных переменных LC_*/LANG, не может быть нашел.

Здесь, поскольку он работает с LC_ALL=en_US.UTF-8, который переопределяет все остальные, проблема должна быть с LC_PAPER=a4. a4не является именем допустимой локали в вашей системе и вызывает сбой setlocal(LC_ALL, "").

В случае сбоя setlocale()по умолчанию используется локаль C, где используется кодировка символов ASCII. В локали C каждый байт является символом, но 0xc3 и 0xa9 неизвестны, поскольку они не в ASCII, поэтомуls -q-qвключены, когда вывод идет на терминал )отображает их как ?.

Вы можете просмотреть список доступных локалей в вашей системе с помощью:

locale -a

Вероятно, вы не найдете a4там. Если вы хотите, чтобы размер бумаги был A4, где locale -k LC_PAPERвыводит:

height=297
width=210
paper-codeset="UTF-8"

Вероятно, вы захотите использовать европейскую локаль для $LC_PAPER, что-то вроде en_GB.UTF-8.

2
28.01.2020, 02:29

Теги

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