linux命令行下中文文件名乱码的解决方法
首先查询支持的编码:
locale -a
如果没有你需要的编码,例如zh_CN.utf8
root运行: #dpkg-reconfigure locales
选择你需要的编码,用空格选中,可多选。tab选择“OK”,回车。
默认编码选择zh_CN.utf8
安装你所需要的编码。
方法一:
修改/etc/sysconfig/i18n 文件
把里面的LANG="en_US"改成 GB2312就可以了
要重启一下机器
不用重启的方法,直接
# LANG="GB2312"
然后就可以了
修改 i18n 只是为了重启有效
方法二:
#vi ~/.bash_profile
LANG=zh_CN.GB18030
LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN
export LANG LANGUAGE
这样就能在终端输入和显示中文了,并且shell脚本里原本的中文显示乱码问题也解决了
方法三:
修改 /etc/sysconfig/i18n
第1句 LANG="zh_CN.UTF-8" 改为 LANG="zh_CN.GB18030"
方法四:
修改 /etc/sysconfig/i18n
LANGUAGE="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"
SYSFONTACM="8859-15"
方法五:
cd /etc/sysconfig/
cp i18n i18n.bak #备份i18n文件
echo "" >i18n
vi i18n #加入以下内容
LANG="zh_CN.GB18030"
LANGUAGE="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=C
增加
export TERM=xterm-color
export LC_CTYPE=zh_CN.gb2312
export LANG=en_US.UTF-8