[换帖]Linux命令之iconv命令
一、命令简介
日常工作中我们需要将windows生成的文件上传到Linux系统,有时候会因为编码问题出现显示乱码。例如我上传了一个csv文件到Linux服务器上,默认编码为GB2312,在Linux打开则会出现乱码,我们需要将文件进行编码转换。iconv命令对于给定文件把它的内容从一种编码转换成另一种编码。
二、使用示例
1、查看命令版本
[root@s145 tmp]# iconv -V
iconv (GNU libc) 2.17
Copyright 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Ulrich Drepper.
2、获取命令帮助
[root@s145 tmp]# iconv --help
3、获取帮助简讯
[root@s145 tmp]# iconv --usage
Usage: iconv [-lcs?V] [-f NAME] [-t NAME] [-o FILE] [–from-code=NAME]
[–to-code=NAME] [–list] [–output=FILE] [–silent] [–verbose]
[–help] [–usage] [–version] [FILE…]
4、查看支持的编码
#支持的编码格式非常多,有上千种。
[root@s145 tmp]# iconv -l
The following list contain all the coded character sets known. This does
not necessarily mean that all combinations of these names can be used for
the FROM and TO command line parameters. One coded character set can be
listed with several different names (aliases).
…
WINDOWS-31J, WINDOWS-874, WINDOWS-936, WINDOWS-1250, WINDOWS-1251,
WINDOWS-1252, WINDOWS-1253, WINDOWS-1254, WINDOWS-1255, WINDOWS-1256,
WINDOWS-1257, WINDOWS-1258, WINSAMI2, WS2, YU
5、将GBK文件转换为UTF-8文件
#可以使用>重定向将转换结果输入到新文件,文件名不能与原文件相同。
[root@s145 tmp]# cat B.csv
,Ա,5,6,7,8,9,ʱ
1,1,ID0025,A41,A51,A61,A71,A81,A91,2000/2/8
2,2,ID0026,A42,A52,A62,A72,A82,A92,2000/2/9
3,3,ID0027,A43,A53,A63,A73,A83,A93,2000/2/10
4,4,ID0028,A44,A54,A64,A74,A84,A94,2000/2/11
5,5,ID0029,A45,A55,A65,A75,A85,A95,2000/2/12
6,6,ID0030,A46,A56,A66,A76,A86,A96,2000/2/13
7,7,ID0031,A47,A57,A67,A77,A87,A97,2000/2/14
8,8,ID0032,A48,A58,A68,A78,A88,A98,2000/2/15
9,9,ID0033,A49,A59,A69,A79,A89,A99,2000/2/16
10,10,ID0034,A50,A60,A70,A80,A90,A100,2000/2/17
11,11,ID0035,A51,A61,A71,A81,A91,A101,2000/2/18
12,12,ID0036,A52,A62,A72,A82,A92,A102,2000/2/19
13,13,ID0037,A53,A63,A73,A83,A93,A103,2000/2/20
[root@s145 tmp]# file B.csv
B.csv: ISO-8859 text, with CRLF line terminators
[root@s145 tmp]# iconv -f GBK -t UTF-8 B.csv > b.csv
[root@s145 tmp]# cat b.csv
序号,姓名,员工编号,信息4,信息5,信息6,信息7,信息8,信息9,入职时间
1,张三1,ID0025,A41,A51,A61,A71,A81,A91,2000/2/8
2,张三2,ID0026,A42,A52,A62,A72,A82,A92,2000/2/9
3,张三3,ID0027,A43,A53,A63,A73,A83,A93,2000/2/10
4,张三4,ID0028,A44,A54,A64,A74,A84,A94,2000/2/11
…
6、将UTF-8文件转换为GBK文件
#默认输出到屏幕,使用-o可以输出到指定文件。可以使用-o将输出转换到新文件,文件名可以与原文件一致。ISO-8859对应GBK,如果-f后面使用ISO-8859会报错文件格式不支持。
[root@s145 tmp]# file b.csv
b.csv: UTF-8 Unicode text, with CRLF line terminators
[root@s145 tmp]# iconv -f UTF-8 -t GBK b.csv -o b.csv
[root@s145 tmp]# file b.csv
b.csv: ISO-8859 text, with CRLF line terminators
7、浏览网站时实时编码转换


三、使用语法及参数说明
1、使用语法
用法:iconv [OPTION…] [FILE…]
2、参数说明
| 参数 | 参数说明 |
|---|---|
| -f, --from-code=NAME | 指定输入文件编码,把字符从encoding编码开始转换。 |
| -t, --to-code=NAME | 指定输出文件编码,把字符转换到encoding编码。 |
| -l, --list | 列出已知的编码字符集合 |
| -c | 忽略输出的非法字符 |
| -o, --output=FILE | 指定输出文件 |
| -s, --silent | 禁止警告信息,但不是错误信息 |
| –verbose | 显示进度信息 |
| -?, --help | 显示帮助信息 |
| –usage | 显示简单使用信息 |
| -V, --version | 打印版本信息 |
[换帖]Linux命令之iconv命令的更多相关文章
- linux常用命令:iconv 命令
iconv命令是linux下用于文件转编码的常用命令,对于同时使用windows系统和linux系统的同学来说文件转编码也是经常遇到的操作. 1.命令格式: iconv [选项...] [文件...] ...
- [转帖]linux下安装7z命令及7z命令的使用
linux下安装7z命令及7z命令的使用 https://www.cnblogs.com/yiwd/p/3649094.html yum install p7zip 执行命令为 7za x 或者是 7 ...
- [转帖]Linux系列之SAR命令使用详解
Linux系列之SAR命令使用详解 sar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工 ...
- 【Linux基础】iconv命令详解(编码转换)
对于给定文件把它的内容从一种编码转换成另一种编码. iconv -f GBK -t UTF- file1 -o file2 //将GBK转换为UTF8,输出到file2.没-o那么会输出到标准输出 i ...
- Linux 文件编码问题及iconv命令
iconv命令是运行于linux/unix平台的文件编码装换工具.当我们在linux/unix系统shell查看文本文件时,常常会发现文件的中文是乱码的,这是由于文本文件的编码与当前操作系统设置的编码 ...
- 在Linux/Unix系统下用iconv命令处理文本文件中文乱码问题
iconv命令是运行于linux/unix平台的文件编码装换工具.当我们在linux/unix系统shell查看文本文件时,常常会发现文件的中文是乱码的,这是由于文本文件的编码与当前操作系统设置的编码 ...
- [转帖]Linux 硬件和系统配置查看命令小结
https://blog.csdn.net/strongwangjiawei/article/details/8208825 转帖了不少 发现自己记住的还是不多.. Linux 硬件和系统配置查看命令 ...
- [转]Linux命令之iconv
转自:http://lorna8023.blog.51cto.com/777608/420313 用途说明 iconv命令是用来转换文件的编码方式的(Convert encoding of given ...
- [转帖]Linux企业运维人员最常用150个命令汇总
Linux企业运维人员最常用150个命令汇总 https://clsn.io/clsn/lx998.html 基本上都用过了. 命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的 ...
- [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)
linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...
随机推荐
- 中秋佳节,程序员教你AI三步成诗,秒变“李白”
摘要:举杯邀明月,用技术来附庸风雅. 中秋佳节来临之际,你是否开始思念远方的亲朋好友,想为他们送上祝福?又或是与家人团圆赏月之时,希望借一段风雅诗词抒情达意? 华为云的开发者们教你一招,来个技术风的A ...
- “互联网+”大赛之智慧校园 赛题攻略:你的智慧校园,WeLink帮你来建
摘要:本赛题的核心就是借助华为云WeLink的中台服务能力/开发工具等,结合学校的具体的高价值场景,开发出WeLink小程序,方便师生的学习与生活. 本文分享自华为云社区<"互联网+& ...
- 图解带你掌握`JVM`运行时核心内存区
摘要:堆空间差不多是最大的内存空间,也是运行时数据区最重要的内存空间.堆可以处于物理上不连续的内存空间,但在逻辑上它应该被视为连续的. 本文分享自华为云社区<醒酒菜:动画图解核心内存区--堆&g ...
- 火山引擎DataLeap数据调度实例的 DAG 优化方案 (一):问题与需求分析
DAG:全称为 Directed Acyclic Graph,指有向无环图,具备严密的拓扑性质,有很强的流程表达能力. DataLeap 是火山引擎自研的一站式大数据中台解决方案,集数据集成.开发.运 ...
- GO语言之环境搭建和基本命令
目录 go语言基础 下载go编译器 go目录简介 gopath简介 环境变量配置 GOPATH PATH go语言项目结构 IDE下载与配置 安装goland goland里添加goroot和gopa ...
- AtCoder Beginner Contest 185 题解
A - ABC Preparation 排序找出最小值 int main() { ios_base::sync_with_stdio(false), cin.tie(0); vector<int ...
- [VS Code] 入门-自定键盘快捷键
Keyboard Shortcuts 自訂鍵盤快捷鍵 開啟設定面板 :點擊左下角管理圖示〉選擇「鍵盤快速鍵」. 編輯器開啟後,滑鼠移至變更項目上,點擊出現的變更圖示(橘框處),輸入要變更的快捷鍵組合. ...
- 一、linux单机版mongo安装(带密码验证)
系列导航 一.linux单机版mongo安装(带密码验证) 二.mongo集群搭建 三.java连接mongo数据库 四.java对mongo数据库增删改查操作 五.mongo备份篇 mongoexp ...
- java实现mysqlplus查询一个月之间的数据
先说需求使用mysqlplus查询一个月之内的数据,传入的参数是202108 要求就查8月份这个月的所有数据,oracle数据中数据记录的时间类型是Date类型 public static void ...
- cancal报错 config dir not found
替换classpath中间封号两边的值
