Я пытаюсь записать строку あいうえお
в буфер обмена с помощью инструмента командной строки pbcopy , подобного этому
echo あいうえお | pbcopy
Но то, что я получаю в своем буфере обмена, совершенно другое: „ÅÇ„ÅÑ„ÅÜ„Åà„Åä
.
Я предположил, что это как-то связано с кодировкой, но в документации говорится, что кодировка основана на переменной среды LANG, а у меня установлено значение en_EN.UTF-8
.
Я думаю LANG=en_EN.UTF-8
проблема в тебе.
Когда я выполняю эту команду
printf あいうえお | LANG=en_EN.UTF-8 pbcopy
и вставьте в новый документ TextEdit , который я получаю „ÅÇ„ÅÑ„ÅÜ„Åà„Åä
(кстати, это то, что вы получите, если возьмете кодировку UTF-8 исходного текста и декодируете ее как MacRoman; вы сможете проверить это, выполнив ) printf あいうえお | iconv -f macroman
.
Когда я выполняю эту команду
printf あいうえお | LANG=en_US.UTF-8 pbcopy
и вставьте в новый документ TextEdit , который я получаю あいうえお
, как и следовало ожидать.
Я почти уверен, что en_EN.UTF-8
это недопустимая локаль (поэтому pbcopy
по умолчанию используется MacRoman). Может быть, вы имели в виду использовать en_US.UTF-8
(т.е. US
не EN
)? Вы можете перечислить допустимые локали, запустив locale -a
. Если вас интересуют только английские локали UTF-8, вы можете отфильтровать список следующим образом:
locale -a | grep '^en_.*\.UTF-8$'
Скорее всего, это ваш терминал. Введите команду locale
и посмотрите, что там написано. Если в нем не указана какая-то японская кодировка, возможно, так оно и есть. Кроме того, попробуйте выбрать «Unicode (UTF-8)» в качестве кодировки символов в меню «Настройки...», «Настройки», «Дополнительно», «Международные». Также поиграйтесь с Preferences/Encodings, включив японские кодировки (это японские? idk! LOL).
Также не забудьте установить LANGUAGE="en_US.UTF-8"
в своем .bash_profile, если он не отображается при использовании locale
команды.
Луи Букс