操作步骤有以下两个步骤。
远程linux计算机。 更改环境变量LANG。 例如,添加到~/.bash_profile
导出lang=zh _ cn.utf8
重新登录后生效。
看看现在的设定吧。
my name @ my host~locale lang=zh _ cn.utf8 LC _ ctype=' zh _ cn.utf8 ' LC _ numeric=' zh _ cn.utf8 ' LC _ time 找到“选项”“会话选项”“外观”。
*字符代码设置为utf-8。
*字体设置,中文字体选择,如新宋体。 安装完成。 然后测试一下。
基本原理首先,可以用同一种语言,使用不同的代码。 例如,中文windows系统默认字符集为cp936,基本上等效于gbk。 请参阅http://zh.wikipedia.org/wiki/GBK。
例如,有两个文件。 文件名分别为"我的分析1.txt "和"我的分析2.txt "。 但是,文件名(不是文件内容)的编码格式不同。
“我的分析1.txt”的UTF-8代码是
e 68891 e 79 a 84 e 58886 e 69 e 90312 e 747874我的分析1 . t x t
“我的分析2.txt”的gb2312 (是gbk的真正子集)编码格式为
ced2 b5c4 b7d6 cef6 32 2e 74 78 74我的分析2 . t x t
其次,在Linux shell环境中,环境变量LANG决定本地使用的字符集。 通常不考虑LC_ALL等。 包括文件名和文件内容的处理。 例如,由于编码差异,ls命令无法同时正确显示上面的两个文件名。
在实际的linux系统中,必须固定文件名编码格式,而不是这种灵活性。 例如,linux通常使用缺省情况下utf-8编码的文件名。 以下三种情况:
1LANG=zh_CN.UTF8,将shell程序设置为使用UTF8编码处理字符。 因此,
“我的分析1.txt”是UTF-8编码,因此会被正确处理。
“我的分析2.txt”是gb2312代码,显示为乱码。
2LANG=zh_CN.gb2312或LANG=zh_CN.gb18030时
“我的分析1.txt”显示为乱码。
“我的分析2.txt”可以正确处理。
3LANG=en,在ls中查看时,两个文件名都无法正常显示。
第三,SecureCRT客户端的编码设置必须与远程linux的编码设置相匹配,以确保字符正确显示。
补充说明在SecureCRT和远程linux上使用gb2312编码没有问题。 在这种情况下,所有字符都按照gb2312进行处理。 但笔者在自己的windows上利用网络邻居浏览远程linuxsambaserver时,看到的gb2312中文文件名只是乱码。 UTF-8没有问题。 可以通过设置samba来解决,但建议统一默认的UTF8格式并投保。
VIM将正确显示和输入中文设置。 编辑~/.vimrc并将其设置为添加以下两行lettermencoding=encodingsetfileencodings=UCS-BOM、utf-8和gbk时,utf-8和gb2312将正确处理