字符乱码问题 :如果服务器本身支持中文,只是客户端显示乱码,通常就是
客户端字符集与服务器字符集不一致造成的。把客户端字符集改成服务器字符集就可以解决的。但是像 SSHSecureShellClient-3.2.9.exe 客户端没有设置字符集的地方,就需要把字符集改为zh_CN.GB18030才能正确显示中文:
export LC_CTYPE=zh_CN.GB18030
export LC_ALL=zh_CN.GB18030
export LANG=zh_CN.GB18030
设置完就解决了客户端连接Linux系统中文显示乱码的问题。
注:每次使用客户端连接Linux服务器时,都需要手动改一下字符集。
1、查询(1) 查看当前服务器字符集: # locale
(2) 查看服务器支持的字符集: # locale -a
2、修改linux系统字符集的方式有如下两种:
(1) 直接设置变量的方式修改,命令如下两条命令:
[root@demo ~]# 或者 export LANG="xxx"
[root@demo ~]# LC_ALL="xxx" 或者 export LC_ALL="xxx"
(备注:xxx为欲修改为的字符集)
查看标准的字符集的方法: locale –a 命令,常用的有: zh_CN.GB2312、
zh_CN.GB18030 或者 zh_CN.UTF-8、en_US.UTF-8等
但是上述修改方式只会在当前shell中生效,新建shell此环境变量消失。
故平时登录系统执行"LANG= "这个命令的时候显示的就没有乱码的缘故,意思就是取消了字符集的显示,
在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:setfileencoding,即可显示文件编码格式。2.enca(如果你的系统中没有安装这个命令,可以用sudoyuminstall-yenca安装)查看文件编码
下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。
一,查看文件编码:在Linux 中查看文件编码可以通过以下几种方式:
1.在Vim中可以直接查看文件编码:setfileencoding即可显示文件编码格式。如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc文件中添加以下内容:setencoding=utf-8fileencodings=ucs-bom,utf-8,cp936这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。
2.enca(如果你的系统中没有安装这个命令,可以用sudoyuminstall-yenca安装)查看文件编码&#36encafilenamefilename:Universaltransformationformat8bitsUTF-8CRLFlineterminators需要说明一点的是,enca对某些GBK编码的文件识别的不是很好,识别时会出现:Unrecognizedencoding
二,文件编码转换
1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式:setfileencoding=utf-8 2.iconv转换,iconv的命令格式如下:输入/输出格式规范:-f,--from-code=名称原始文本编码-t,--to-code=名称输出编码信息: www.Svn8.Com-l,--list列举所有已知的字符集输出控制:-c从输出中忽略无效的字符-o,--output=FILE输出文件Svn8.Com-s,--s ilent关闭警告--verbose打印进度信息-?,--help给出该系统求助列表--usage给出简要的用法信息-V,--version打印程序版本号 例子:iconv-futf-8-tgb2312aaa.txt>bbb.txt这个命令读取aaa.txt文件,从utf-8编码转换为gb2312编码,其输出定向到bbb.txt文件。iconv-fencoding-tencodinginputfile比如将一个UTF-8编码的文件转换成GBK编码iconv-fGBK-tUTF-8file1-ofile2
3.enconv转换文件编码比如要将一个GBK编码的文件转换成UTF-8编码,操作如下enconv-Lzh_CN-xUTF-8filename
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)