Короче говоря, я хотел бы иметь возможность печатать и отображать символы из iso-8859-1 на моей Cygwin Mintty. к сожалению, я не понял, как это сделать.
моя локаль:
$ locale
LANG=C.ISO-8859-1
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=C
mintty настроен как xterm
(хотя, похоже, не имеет значения, какую эмуляцию терминала явыберите), и с помощью options => text я сконфигурировал раздел 'locale' как C
, а набор символов - ISO-8859-1
.
, когда я набираю любой акцентированный символ измоя клавиатура, символ не отображается на терминале. однако, если я вызову cat
, символы, которые я наберу, отображаются правильно. также, когда я редактирую, используя vi
(ну, на самом деле vim
), я могу без проблем печатать (и отображать) символы с акцентами. поэтому проблема, похоже, связана с оболочкой, а не с самой эмуляцией терминала.
более того, если я напишу небольшой скрипт для создания файла с именем, например, être.utx
, файл отобразитсякак ???tre.utx
когда я ls
это. глядя на его гекс, я получаю
$ ls *.utx | od -c -tx1
0000000 357 203 252 t r e . u t x \n
ef 83 aa 74 72 65 2e 75 74 78 0a
0000013
, поэтому кажется, что сценарий, который я написал, создает файл, имя которого начинается с триграммы 0xEF 0x83 0xAA, а не однобайтовый символ, кодировка которого должна быть 0xEA. я не знаю, как это интерпретировать;я знаю, что это не utf-8, а 0xC3 0xAA.
кажется, что в моей конфигурации cygwin есть только один набор символов, настроенный для поддержки 8859-1: норвежский. [конечно, я полагаю, что мог бы выучить норвежский, но я бы предпочел что-то менее напряженное, если это возможно ...]
в любом случае, кто-нибудь знает, что я делаю неправильно?
Заранее большое спасибо.