Linux-各种姿势(less\vi等)打开各种类型的文件(txt/csv/xlsx等)出现不能打开(全乱码、部分乱码、二进制文件等)的问题
(一)linux各种中文乱码解决办法整理
远程登录服务器用vim在终端下编辑查看文件经常会遇见各种中文乱码问题。
做如下设置可基本解决vim中文乱码问题,首先查看系统对中文的支持locale -a | grep zh_CN输出样例,如下zh_CN.gbkzh_CN.utf8vim 只能正确识别列表中的中文编码文件,如需识别其他编码类型的中文文件,则需要做系统升级vi ~/.bash_profile文件末尾添加export LANG="zh_CN.UTF-8"export LC_ALL="zh_CN.UTF-8"
vim与编码相关的参数:
fileencoding,用于配置打开文件和保存文件的编码,但只能有一个值,只适合少数文件都是同种编码的环境,所以一般不使用fileencodings, 从名字上看就知道是fileencoding的增强版,可以配置多种不同的编码,常见的配置为,配置好之后,列表中的文本编码只要合法,都能被vim正确 的读取,建议配置:set fileencodings=utf-bom,utf-8,gbk,gb2312,gb18030,cp936,latin1encoding,vim内部编码,vim读取文件之后,但并不以读取文件的编码来处理,而是会转换成内部编码的格式,这个编码一般与操作系统相关,linux下utf-8居多,中文windows下则是gdk,建议配置:set encoding=utf-8 termencoding,vim输出的编码,输出指输出到操作系统或命令终端等,默认与操作系统的语言编码一致,如果使用linux命令终端,建议终端和linux系统配置相同的编码,然后配置相同的termencoding,否则顾全了vim就顾不上shell,不过如果shell不存在中文名文件,则配置终端和 termencoding一致即可,对于windows,能自动的识别gbk和utf-8,不用特殊配置,建议配置:set termencoding=utf-8fileformats,用于区分操作系统,主要是回车\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 批量文件转码命令:iconv -c -f gbk -t utf-8 $data_path/$item_uv
参考:https://blog.csdn.net/kwame211/article/details/77069378
(二)xls/xlxs/txt/等一切非gbk文件另存为.csv(gbk编码格式文件)文件,再把.csv文件编码格式转化为utf-8文件,这样Linux才能查看less查看而不乱码;
(三)可以直接保存为utf-8编码格式文件,如
excel怎么保存为utf8编码格式
参考:https://jingyan.baidu.com/article/63f236289223e00208ab3da4.html
(四)python pandas模块 可以直接读取excel文件,并处理excel文件和对数据的处理分析;所以,相当于间接跳过了Linux less|vim 查看问题,直接进入下一步的数据读取和处理。
Linux-各种姿势(less\vi等)打开各种类型的文件(txt/csv/xlsx等)出现不能打开(全乱码、部分乱码、二进制文件等)的问题的更多相关文章
- 用Linux命令行实现删除和复制指定类型的文件
(一)Linux 删除当前目录及子目录中所有某种类型的文件 方法1 : 此方法不能处理目录中带空格的那些. rm -rf `find . -name "*.example"` Li ...
- Intent MIME 打开各种类型的文件
使用 public class MainActivity extends ListActivity { public static final String path = Environmen ...
- Linux基础-5.利用vi编辑器创建和编辑正文文件
1.vi编辑器简介 1)掌握vi编辑器的定义:vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界面,vi是效率很高的文本编辑器.尽管在Linux上也有很多图形界面 ...
- Android打开各种类型的文件方法总结
很简单,通过调用系统的intent,我们可以打开各种文件,不熟悉的朋友可以了解下action.datatype.uri的相关知识. 通用方法如下: public static Intent openF ...
- 高速在MyEclipse中打开jsp类型的文件
MyEclipse打开jsp时老是要等上好几秒,嗯嗯,这个问题的确非常烦人,事实上都是MyEclipse的"自作聪明"的结果(它默认用Visual Designer来打开的),进行 ...
- Linux复制指定目录及子目录下特定类型的文件
首先建立一个用于测试的目录,用'tree'命令查看其结构如下所示: 可见,目录中主要包含用于测试的*.txt文件和用于充当炮灰的*.tes文件 目标是保持当前的目录结构,只把txt文件复制出来 方法一 ...
- 关于contentquery webpart的pdf文件如何在OOS上打开,并且所有文件在浏览器新起的页面打开?
function SetHref(pdf) { var c = pdf.href; var d = "http://eds.jd.com"; var f = "" ...
- linux之文本编辑器vi常用命令
由于经常在linux下面文本操作,所以这里稍微系统的总结一下自己常用的vi命令 1.打开命令: vi+filename (还有各种打开的姿势,只不过我比较顺手这个) 2.退出命令: :q 退出而 ...
- 10分钟 教你学会Linux/Unix下的vi文本编辑器
10分钟 教你学会Linux/Unix下的vi文本编辑器 vi编辑器是Unix/Linux系统管理员必须学会使用的编辑器.看了不少关于vi的资料,终于得到这个总结.不敢独享,和你们共享. 首先,记住v ...
随机推荐
- [Beta]the Agiles Scrum Meeting 6
会议时间:2020.5.20 21:00 1.每个人的工作 今天已完成的工作 成员 已完成的工作 issue yjy 帮助成员解决配置环境问题 tq 增加功能:添加多个评测机 评测部分增加更多评测指标 ...
- 你知道如何从单片机过渡到嵌入式linux需要经历那些吗?(这个亲身体验有效)
就现在的行业发展来看只会单片机已经不吃香了并且在薪资待遇方面来看的话单片机的收入限制性太强可能工作很多年之后发现没有了成长空间,因此逐渐转到嵌入式Linux这个方向是越来越多的人的一个选择,那么接触了 ...
- Nginx(二):Nginx的四层(L4)和七层(L7)负载均衡
OSI七层模型 和 TCP/IP四层模型 四层负载均衡( L4 Load Balancing ) 四层负载均衡,主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内 ...
- python网站(持续更新)
python官网: https://www.python.org/ python文档:中文 https://docs.python.org/zh-cn/3/ pypi网站: https://pypi. ...
- Bzoj P2054 疯狂的馒头 | 并查集
题目链接 思路:因为每次染色都会将某些馒头的颜色彻底更改,所以每个馒头的最终的颜色其实是由最后一次染色决定的,那么我们只考虑最后一次染色即可.对此,我们可以从后往前倒着染色,当目前的染色区间中存在白色 ...
- hdu 4288 Coder (线段树+离线)
题意: 刚开始有一个空集合.有三种操作: 1.往集合中加入一个集合中不存在的数 x 2.从集合中删除一个已经存在的数 x 3.计算集合的digest sum并输出. digest sum求 ...
- Linux 文本三剑客之 sed
Linux 系统中一切皆文件. 文件是个文本.可以读.可以写,如果是二进制文件,还能执行. 在使用Linux的时候,大都是要和各式各样文件打交道.熟悉文本的读取.编辑.筛选就是linux系统管理员的必 ...
- Linux环境下安装中山大学东校区iNode客户端
在中山大学登录校园网有两种方式,一种是连接WiFi,另一种是连接网线.这两种上网方式都需要用到NetID,但是连接网线的话还需要使用到iNode客户端(指东校区). Windows下iNode客户端的 ...
- 力扣 - 剑指 Offer 67. 把字符串转换成整数
题目 剑指 Offer 67. 把字符串转换成整数 思路1 根据题意,要解决这题,首先要判断的条件有: 不包括首位空格 第一位必须为:+.-.数字三者其一,否则不合法 数字必须连续的,如果遇到非数字, ...
- java中的lamda表达式
List操作: 循环: list.forEach((p) -> System.out.printf("%s %s; %n", p.getFirstName(), p.getL ...