Как отобразить китайские символы правильно на удаленной машине Redhat?

Посмотрите, перечислен ли файл идентификационных данных

ssh-add -l

В противном случае добавьте его

ssh-add ~/.ssh/username  

Затем смог выбрать надлежащий файл идентификационных данных

8
10.08.2014, 00:56
3 ответа

По сути, это может быть проблема несоответствия между вашим языковым стандартом, который установлен на UTF-8 , и кодировкой вашего файла символов китайцев, который может быть закодирован в gbk ], gb2312 , gb18030 или Big-5 .

Все перечисленные выше кодировки несовместимы с UTF-8 .

Теперь предположим, что gbk - это кодировка вашего файла. Поэтому, когда вы пытаетесь показать содержимое файла, файл в кодировке gbk интерпретируется как файл UTF-8 , что вызывает тарабарщину.

Вот и решение.

  • Используйте luit . (Предпочтительно)

     $ whatis luit
    luit (1) - Локаль и поддержка ISO 2022 для терминалов Unicode
     

    luit -encoding gbk cat a_chinese_file.txt

Поскольку большая часть (если не каждая) используемая кодировка совместима с ASCII , и если вам нужны только символы в ASCII и другая кодировка, вы можете использовать следующие два метода.

  • Измените кодировку вашего терминала

    Вы можете рассмотреть это, поскольку этот метод не требует установки дополнительных пакетов.

  • Измените свой языковой стандарт

    Но я думаю, что для этого вам потребуется установить соответствующий языковой стандарт.


Некоторые подробности упомянутой выше китайской кодировки.

  • gbk , gb2312 , gb18030 - это кодировки для упрощенного китайского языка.

    Если вы не уверены, какая кодировка используется в вашем файле, предположите, что это gb18030 .

    Количество символов, содержащихся в каждой кодировке, выглядит следующим образом: gb18030 > gbk > gb2312 . А улучшенная кодировка - это надмножество того, что следует ниже.

  • Big-5 - это кодировка для традиционного китайского языка.

Более того, кодировка для упрощенного китайского иногда обозначается как CP936 (кодовая страница 936, я думаю, это название пришло из Windows).

5
27.01.2020, 20:13

Я только что добавил эту строку в ~/.bash_profile:

export LC_ALL=en_US.UTF-8
1
27.01.2020, 20:13

Я думаю, вам нужно изменить два файла как

1 )Вход/etc/default/locale

LANG=" en_US.UTF-8"
LANGUAGE=" en_US:en.UTF-8"

2 )Вход~/.pam_environment

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8

3 )перезагрузка

-1
27.01.2020, 20:13

Теги

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