В Konsole имена файлов на азиатских языках отображаются как экранированные последовательности.

Вопрос или проблема

Я использую Arch Linux с KDE Plasma. Язык системы установлен на английский. Шрифты корейского/японского языка установлены. В Dolphin файлы с корейскими/японскими именами отображаются корректно. Но в Konsole их названия отображаются как экранированные последовательности, такие как ”$’\355\205\214\354\212\244\355\212\270”.txt’. В профиле Konsole кодировка по умолчанию уже была установлена на UTF-8.

Как решить эту проблему?

введите описание изображения здесь


Вывод команды strings /proc/$$/environ | grep -e LANG -e LANGUAGE -e LC_ | sort

LANG=en_GB.UTF-8
LANGUAGE=en_GB
LC_ADDRESS=en_GB.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
LC_MONETARY=en_GB.UTF-8
LC_NAME=en_GB.UTF-8
LC_NUMERIC=en_GB.UTF-8
LC_PAPER=en_GB.UTF-8
LC_TELEPHONE=en_GB.UTF-8
LC_TIME=en_GB.UTF-8

Вывод команды locale

locale: Не удается установить LC_CTYPE в локаль по умолчанию: Нет такого файла или каталога
locale: Не удается установить LC_MESSAGES в локаль по умолчанию: Нет такого файла или каталога
locale: Не удается установить LC_ALL в локаль по умолчанию: Нет такого файла или каталога
LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY=en_GB.UTF-8
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER=en_GB.UTF-8
LC_NAME=en_GB.UTF-8
LC_ADDRESS=en_GB.UTF-8
LC_TELEPHONE=en_GB.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

Сообщения об ошибках от locale предполагают, что фактические данные локали могут не быть успешно сгенерированы для локали en_GB.UTF-8.

Проверьте свой файл /etc/locale.gen: убедитесь, что строка

en_GB.UTF-8 UTF-8

не закомментирована, а затем выполните locale-gen от имени root. Если есть какие-либо сообщения об ошибках, что они говорят? Решает ли выполнение locale-gen проблему? (вам, возможно, потребуется открыть новое окно Konsole, чтобы увидеть эффект)

Ссылка: https://wiki.archlinux.org/title/Locale

Ответ или решение

Проблема отображения имен файлов на корейском и японском языках в Konsole

Вы сталкиваетесь с проблемой, когда имена файлов на корейском и японском языках отображаются в консоли (Konsole) как экранированные последовательности, например, '$'\355\205\214\354\212\244\355\212\270''.txt'. В то время как в других приложениях, таких как Dolphin, они отображаются корректно. Давайте разобрать подробнее, как решить эту проблему.

Анализ текущей конфигурации локали

Согласно выведенной информации, ваши текущие настройки локали не совсем корректны. Программа locale сообщает, что не удается установить некоторые параметры локали, такие как LC_CTYPE и LC_MESSAGES, что может указывать на отсутствие необходимых данных локали.

Вывод команды locale предоставляет следующую информацию:

LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"

Однако отсутствует корректная установка LC_ALL, а также проблема с настройками, возможно, связана с тем, что данные локали для en_GB.UTF-8 не были успешно сгенерированы на вашем компьютере.

Рекомендации по исправлению ошибки

  1. Проверка файла конфигурации локалей
    Откройте файл /etc/locale.gen и убедитесь, что строка en_GB.UTF-8 UTF-8 не закомментирована. Если она закомментирована (начинается с #), удалите решетку в начале строки.

  2. Генерация локалей
    После того как вы убедитесь в правильности записи в locale.gen, выполните команду:

    sudo locale-gen

    Эта команда сгенерирует недостающие данные локали. Обратите внимание на любые выводимые сообщения об ошибках и устраните их.

  3. Перезагрузка терминала
    После выполнения команд откройте новое окно Konsole, чтобы изменения вступили в силу.

  4. Проверка локали снова
    Выполните команду locale в новом окне Konsole, чтобы убедиться, что все параметры локали установлены правильно и ошибок не возникает.

  5. Дополнительные настройки
    Убедитесь, что в настройках Konsole установлен кодировщик "UTF-8". Перейдите в настройки профиля консоли и проверьте, что выбран нужный кодировщик.

Дополнительные советы

  • Если проблема не решена, попробуйте установить, какие шрифты используются в Konsole. Убедитесь, что установлены поддерживаемые шрифты для CJK (китайские, японские и корейские) символов. Некоторые шрифты могут не поддерживать определенные языки и вызывать подобные проблемы.
  • Настройте переменные окружения через .bashrc или .zshrc, добавив строки, устанавливающие корректные локали:
    export LANG=en_GB.UTF-8
    export LC_ALL=en_GB.UTF-8

    И затем выполните команду source ~/.bashrc или source ~/.zshrc, чтобы изменения вступили в силу.

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

Оцените материал
Добавить комментарий

Капча загружается...