博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux各种中文乱码解决办法整理
阅读量:4697 次
发布时间:2019-06-09

本文共 1567 字,大约阅读时间需要 5 分钟。

 

远程登录服务器用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. fileencoding,用于配置打开文件和保存文件的编码,但只能有一个值,只适合少数文件都是同种编码的环境,所以一般不使用
  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 

  (5)cat文件正常,vim文件不正常

      解决方案:直接写入/etc/vim/vimrc  ,最后一行加上

  1. set fileencodings=gb2312,utf-8  
  2. set fileencoding=gb2312  
  3. set termencoding=utf-8  

 

 

批量文件转码命令:iconv -c -f gbk -t utf-8 $data_path/$item_uv

转载于:https://www.cnblogs.com/lvdongjie/p/8993697.html

你可能感兴趣的文章
Go初接触之libjpeg-turbo
查看>>
UVa 11300 Spreading the Wealth 分金币
查看>>
[leetcode] Happy Number
查看>>
Java第五周学习总结
查看>>
j.c.Warnsdorff马踏棋盘算法
查看>>
git私服
查看>>
the openning
查看>>
python 字符串 和 print
查看>>
MAC OS下安装Minizip
查看>>
Java_Certificates does not conform to algorithm constraints
查看>>
PAT 1027. Colors in Mars
查看>>
linux定时执行脚本
查看>>
Oauth支持的5类 grant_type 及说明
查看>>
ASP.NET 5 DNX SDK删除旧版本
查看>>
Android ListView 九大重要属性详细分析
查看>>
[LeetCode] 670. Maximum Swap 最大置换
查看>>
CC++中sizeof函数的用法
查看>>
SPFA 算法详解( 强大图解,不会都难!) (转)
查看>>
正则表达式验证
查看>>
QUIC:基于udp的传输新技术
查看>>