今天在执行Linux下的tree命令的时候,出现了乱码。上网查了一下说需要使用tree --charset ASCII,强制使用ASCII字符。这样确实可以输出正常了。但是我的环境里的LANG=US.UTF-8,这样如果有非ASCII字符的时候,那么一样会造成输出乱码。
既然tree让可以设置charset,那么根据我的环境下的字符集,我就执行tree --charset UTF-8,发现还是乱码。这就想不通了。突然意识到是不是自己的SecureCRT里面的设置不对啊。
检查SecureCRT->Session Options->Terminal->Appearance->Character Encoding,哈哈,果然啊,这里没有设置成跟远程主机一样的UTF-8,而是default。改过来以后,运行tree,一切正常。
强制使用ASCII字符集这种方式只是一时爽,所谓workaround是也,要想长久爽,真爽,还是要找到root cause。
http://blog.chinaunix.net/uid-686647-id-4604163.html
转载于:https://blog.51cto.com/4097978/1927913