3

Я только что прибыл в мою новую лабораторию и Японию, и сервер, который я могу использовать, имеет только японские локали. Звонок в locale -a возвращается

C
POSIX
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc

Поэтому я изменил свои переменные окружения, и теперь моя локаль установлена на ja_JP.utf8 которая прекрасно поддерживает Unicode. Теперь возвращается вызов locale (изменено с eucjp):

LANG=ja_JP.utf8
LANGUAGE=
LC_CTYPE="ja_JP.utf8"
LC_NUMERIC="ja_JP.utf8"
LC_TIME="ja_JP.utf8"
LC_COLLATE="ja_JP.utf8"
LC_MONETARY="ja_JP.utf8"
LC_MESSAGES="ja_JP.utf8"
LC_PAPER="ja_JP.utf8"
LC_NAME="ja_JP.utf8"
LC_ADDRESS="ja_JP.utf8"
LC_TELEPHONE="ja_JP.utf8"
LC_MEASUREMENT="ja_JP.utf8"
LC_IDENTIFICATION="ja_JP.utf8"
LC_ALL=

Я могу читать файлы с японскими символами в Unicode просто отлично, использую ли я less, emacs или vim и подключаюсь к PuTTY или удаленному xterm с помощью cygwin. Также кажется, что другие символы Юникода отображаются нормально.

Но тут возникает проблема: если я что-то печатаю по-японски, похоже, что-то не так. Мне нравится использовать IRC и по какой-то причине, хотя я могу отлично читать любой японский символ, если я набираю что-то, что отправляется как мусор для других людей. Я использую конфигурацию, найденную здесь http://xkr47.outerspace.dyndns.org/howtos/irssi-utf-8-guide.txt

Я получаю эти результаты для /set charset

term_charset = utf-8
recode_out_default_charset = ISO-8859-15

и /set recode

recode = ON
recode_autodetect_utf8 = ON
recode_fallback = ISO-8859-15
recode_out_default_charset = ISO-8859-15
recode_transliterate = ON

Если у вас есть предложения, попробуйте придумать способ, который не требует прав root, если это возможно, поскольку администратору потребовалось бы целую вечность, чтобы что-то сделать на сервере. Я много смотрел в Интернете о локали, но я не нашел ничего об этой проблеме.

1 ответ1

1

Как было определено в комментариях, Irssi был настроен на преобразование сообщений в ISO-8859-15 при их отправке вместо UTF-8.

Измените выходную кодировку, используя:

/set recode_out_default_charset UTF-8

Также, если вы находитесь в каналах со смешанной кодировкой, может быть полезен /set recode_fallback Shift-JIS (он изменяет декодирование полученного сообщения). Irssi всегда будет сначала пытаться использовать UTF-8, но если декодирование завершится неудачно, он будет использовать recode_fallback затем.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .