linux中字符乱码解决方法介绍

发布时间 - 2019-12-07 00:00:00    点击率:

远程登录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"

*教程推荐:linux视频教程

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  # 操作系统  # 出现乱码  # 都是  # 是因为  # 都能  # 则是  # 列表中  # 只需  # 要做  # 能有 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何撰写建站申请书?关键要点有哪些?  ,南京靠谱的征婚网站?  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  如何快速查询网站的真实建站时间?  如何快速搭建高效可靠的建站解决方案?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  免费网站制作appp,免费制作app哪个平台好?  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  Python图片处理进阶教程_Pillow滤镜与图像增强  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  javascript读取文本节点方法小结  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  如何在服务器上三步完成建站并提升流量?  如何快速生成高效建站系统源代码?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  Swift中循环语句中的转移语句 break 和 continue  如何在景安服务器上快速搭建个人网站?  android nfc常用标签读取总结  利用vue写todolist单页应用  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  奇安信“盘古石”团队突破 iOS 26.1 提权  BootStrap整体框架之基础布局组件  怎么用AI帮你设计一套个性化的手机App图标?  Laravel怎么判断请求类型_Laravel Request isMethod用法  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  北京的网站制作公司有哪些,哪个视频网站最好?  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  高防服务器:AI智能防御DDoS攻击与数据安全保障  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  重庆市网站制作公司,重庆招聘网站哪个好?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Angular 表单中正确绑定输入值以确保提交与验证正常工作  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  简历没回改:利用AI润色让你的文字更专业  高端网站建设与定制开发一站式解决方案 中企动力