发现在用SecureCRT终端连接主机,用ls命令查看文件也是??.XLS的显示。。所以确认应该是系统的编码设置问题。测试用#convmv方式转也不成功。
最后无意GOOGLE上看到一篇文章写到:在LINUX中通过locale来设置程序运行的不同语言环境,locale由ANSI C提供支持。locale的命名规则为<语言>_<地区>.<字符集编码>,如zh_CN.UTF-8,zh**中文,CN****地区,UTF-8表示字符集。在locale环境中,有一组变量,**国际化环境中的不同设置。 LC_ALL
它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。注意,LANG的值不受该宏影响。"C"是系统默认的locale,"POSIX"是"C"的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。
根据前面测试的经验知道在/etc/sysconfig/i18n文件中修改LANG的设置为:
LANG="zh_CN.GBK"
LANGUAGE="zh_CN.GBK:zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
然后在/etc/profile文件中增加export LC_ALL=zh_CN.GBK内容。使得全部的LC*都统一了。
这样再重启主机。。
再进终端终于ls到了中文的文件名了