Ответы:
Действительно, верный способ проверить это скачать текстовый файл и отследить его в терминале и посмотреть, все ли выглядит хорошо.
или, если вы можете, перекомпилируйте терминал, включив опцию Unicode (при условии, что он есть).
как выглядят $ TERM и $ LANG?
Введите это в свой терминал:
echo -e '\xe2\x82\xac'
Если ваш терминал поддерживает UTF-8, он выведет знак евро:
€
Самый слабый путь: запустить следующий и проверить вывод. Это будет заглавная буква «О» с огибающей, если терминал отображает UTF-8.
perl -le 'print "\x{c3}\x{94}"'
perl -CO -le 'print "\x{d4}"'
Самый верный способ - использовать команду «locale». Он распечатает все различные переменные, которые определяют, какой набор символов использовать. Например, это мой вывод на RHEL5.3, по умолчанию настроенный на использование только UTF-8.
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=
Вы можете просто использовать следующую команду:
locale charmap
curl http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
или
wget -O - http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
Это очевидно требует wget
или curl
.
UTF=$(echo -e "\u263A")
if [[ ! "$UTF" =~ "A" ]] ; then
echo -n "UNICODE here!"
fi
echo
поддерживает ли встроенная программа \u
.