[问题]在sh脚本中创建的中文文件名为什么为会乱码?

系统字体配置、中文显示和输入法问题
回复
pass
帖子: 25
注册时间: 2007-09-20 22:31

[问题]在sh脚本中创建的中文文件名为什么为会乱码?

#1

帖子 pass » 2007-09-25 17:09

同样的命令,生成中文文件名的文件,直接在命令行中输入时没有问题,如果把这个命令放到.sh文件,或者通过重定向让sh执行,文件名中都会有部分汉字出现乱码。

这样是好的,可以生成正确的文件“完成.txt”:

代码: 全选

echo abc > 完成.txt
这样会出现乱码,生成的是“完??.txt”:

代码: 全选

echo "echo abc > 完成.txt" | sh
还有其它一些汉字也会乱码。

我的系统是ubuntu 7.04,locale命令的结果是:

代码: 全选

LANG=en_HK.UTF-8
LANGUAGE=en_HK:en
LC_CTYPE="en_HK.UTF-8"
LC_NUMERIC="en_HK.UTF-8"
LC_TIME="en_HK.UTF-8"
LC_COLLATE="en_HK.UTF-8"
LC_MONETARY="en_HK.UTF-8"
LC_MESSAGES="en_HK.UTF-8"
LC_PAPER="en_HK.UTF-8"
LC_NAME="en_HK.UTF-8"
LC_ADDRESS="en_HK.UTF-8"
LC_TELEPHONE="en_HK.UTF-8"
LC_MEASUREMENT="en_HK.UTF-8"
LC_IDENTIFICATION="en_HK.UTF-8"
LC_ALL=
回复