Linux文件导出到Windows乱码的问题

在这里插入图片描述

前言

实习生很不满,我给业务统计的CSV格式表格,他们说乱码,自己就不会在Windows上面转一下编码吗?非要我在Linux上面转,为啥是乱码?Linux咋转啊?

为啥乱码

这个很明显Linux上面的文件是UTF-8的,但是本地用EXCEL打开CSV文件默认是GBK格式,编码不一致,所以就乱码咯

Linux如何转编码

自带命令 iconv
iconv -f 原编码 -t 新编码 filename -o newfile

-f : from 来源编码
-t : to 转换后新编码
-c: 忽略无效字符
-s: --silent,忽略警告
-o file : 可选,没有的话直接转换当前文件, 使用-o 保留源文件。

现实场景中常用的一套组合拳

  1. 查看文件编码
    使用file命令
    语法:
file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]

参数:

-b  列出辨识结果时,不显示文件名称。
-c  详细显示指令执行过程,便于排错或分析程序执行的情形。
-f<名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
-L  直接显示符号连接所指向的文件的类别。
-m<魔法数字文件>  指定魔法数字文件。
-v  显示版本信息。
-z  尝试去解读压缩文件的内容。
[文件或目录...] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。

举例:

file data.csv
data.csv UTF-8 Unicode text

我们可以看到data.csv格式的文件是UTF-8格式的,于是就可以利用上面的iconv命令对其进行转码为GBK格式咯

iconv -f UTF-8 -t GBK data.csv

如果需要保留data.csv源文件,那么需要加-o参数

iconv -f UTF-8 -t GBK data.csv -o data1.csv

于是就可以把转换为GBK格式的data1.csv数据发给业务的人员咯

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SunnyRivers

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值