如何查看terminal是否支持UTF-8

我在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 

这显然需要wgetcurl

你可以使用下面的命令:

 locale charmap 
 UTF=$(echo -e "\u263A") if [[ ! "$UTF" =~ "A" ]] ; then echo -n "UNICODE here!" fi