重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
linux中字符乱码应该如何解决?很多人都不太了解,今天小编为了让大家更加了解linux中字符乱码的解决方案,所以给大家总结了以下内容,一起往下看吧。
站在用户的角度思考问题,与客户深入沟通,找到沁县网站设计与沁县网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网页空间、企业邮箱。业务覆盖沁县地区。远程登录linux服务器用vim在终端下编辑查看文件经常会遇见各种中文乱码问题。
做如下设置可基本解决vim中文乱码问题
首先查看系统对中文的支持
locale -a | grep zh_CN
输出样例如下
zh_CN.gbk
zh_CN.utf8
vim 只能正确识别列表中的中文编码文件,如需识别其他编码类型的中文文件,则需要做系统升级
vi ~/.bash_profile
文件末尾添加
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
vim与编码相关的参数:
1、eencoding,用于配置打开文件和保存文件的编码,但只能有一个值,只适合少数文件都是同种编码的环境,所以一般不使用
2、fileencodings, 从名字上看就知道是fileencoding的增强版,可以配置多种不同的编码,常见的配置为,配置好之后,列表中的文本编码只要合法,都能被vim正确 的读取,建议配置:set fileencodings=utf-bom,utf-8,gbk,gb2312,gb18030,cp936,latin1
3、encoding,vim内部编码,vim读取文件之后,但并不以读取文件的编码来处理,而是会转换成内部编码的格式,这个编码一般与操作系统相关,linux下utf-8居多,中文windows下则是gdk,建议配置:set encoding=utf-8
4、termencoding,vim输出的编码,输出指输出到操作系统或命令终端等,默认与操作系统的语言编码一致,如果使用linux命令终端,建议终端和linux系统配置相同的编码,然后配置相同的termencoding,否则顾全了vim就顾不上shell,不过如果shell不存在中文名文件,则配置终端和 termencoding一致即可,对于windows,能自动的识别gbk和utf-8,不用特殊配置,建议配置:set termencoding=utf-8
5、fileformats,用于区分操作系统,主要是回车\r\n的区别,建议配置:set fileformats=unix,dos
常见的乱码有以下几种情形:
(1)将windows环境下的文件rz到linux下时文件出现乱码
解决方案:
1、在rz之前使用notepad++将文件格式转化为UTF-8无BOM格式或者ANSI编码格式;
2、set encoding=utf-8;
(2)secureCRT或者xterm2编辑环境中出现乱码,只需在会话选项中调节字符编码为GB2312或者UTF-8
(3)当对日志文件进行vim编辑时出现乱码,大多数情况下是因为日志文件的格式为GB2312。
解决方案:1.set encoding=GB2312;2如果方案1不起作用的话,调整secureCRT或者xterm2的编辑环境为GB2312
(4)wget下载文件名乱码
解决方案:一般情况下加上–restrict-file-names=nocontrol,例如wget --restrict-file-names=nocontrol -m www.xxx.com/
(5)cat文件正常,vim文件不正常
解决方案:直接写入/etc/vim/vimrc ,最后一行加上
set fileencodings=gb2312,utf-8
set fileencoding=gb2312
set termencoding=utf-8
关于linux中字符乱码应该如何解决就分享到这里了,当然并不止以上和大家分析的办法,不过小编可以保证其准确性是绝对没问题的。希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。