我在CentOs 5上为perl设置了CPAN模块,其中一个问题是“你的terminal是否支持UTF-8? (转述)。 我如何发现?
真的,testing的最好的方法是下载一个文本文件 ,并在terminal中捕捉它,看看是否一切正常。
或者,如果可以的话,重新编译启用unicode选项的terminal(假设它有一个)。
$ TERM和$ LANG是什么样的?
在terminal中input以下内容:
echo -e '\xe2\x82\xac'
如果你的terminal支持UTF-8,它将输出欧元符号:
€
最蹩脚的方式:运行跟踪并检查输出。 如果terminal显示UTF-8,它将是一个大写字母O。
perl -le 'print "\x{c3}\x{94}"'
最可靠的方法是使用“locale”命令。 它会打印出所有各种各样的variables,指出要使用的字符集。 例如,这是我在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=
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 。
你可以使用下面的命令:
locale charmap
UTF=$(echo -e "\u263A") if [[ ! "$UTF" =~ "A" ]] ; then echo -n "UNICODE here!" fi