一、命令简介

  日常工作中我们需要将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命令相关推荐

  1. linux常用命令:iconv 命令(用于文件的编码转换),还可以用UE另存

    https://www.cnblogs.com/shujuxiong/p/8990452.html iconv命令是linux下用于文件转编码的常用命令,对于同时使用windows系统和linux系统 ...

  2. linux常用命令:iconv 命令

    iconv命令是linux下用于文件转编码的常用命令,对于同时使用windows系统和linux系统的同学来说文件转编码也是经常遇到的操作. 1.命令格式: iconv [选项...] [文件...] ...

  3. 脚本中或者linux下使用iconv命令将utf_8和gbk以及gb2312的相互转换

    1.转换gbk编码文件为utf-8编码文件 iconv -f gbk -t utf-8 aa.txt > aa.bak 其中-f指的是原始文件编码,-t是输出编码 aa.txtl是原始文件 aa ...

  4. Linux 命令之 iconv -- 转换文件的字符编码

    文章目录 一.命令介绍 二.命令语法 三.常用选项 四.命令示例 (一)对指定文件进行转码,且输出到指定的文件中 一.命令介绍 iconv 命令是 Linux 系统自带的用于转换文件编码的命令行工具, ...

  5. 在Linux/Unix系统下用iconv命令处理文本文件中文乱码问题

    iconv命令是运行于linux/unix平台的文件编码装换工具.当我们在linux/unix系统shell查看文本文件时,常常会发现文件的中文是乱码的,这是由于文本文件的编码与当前操作系统设置的编码 ...

  6. Linux 文件编码问题及iconv命令

    iconv命令是运行于linux/unix平台的文件编码装换工具.当我们在linux/unix系统shell查看文本文件时,常常会发现文件的中文是乱码的,这是由于文本文件的编码与当前操作系统设置的编码 ...

  7. 使用iconv命令轻松实现linux下字符集编码的转换

    昨天晚上郎师兄打电话说,我的结果文件他打开是乱码,问我是不是字符编码没处理好.早晨早早的来到实验室,请教了下同学,才知道linux shell 配置文件中默认的字符集编码为UTF-8 .UTF-8是u ...

  8. 收藏 | Linux常用156个命令汇总!

    来源:机器学习算法与Python学习 本文约2500字,建议阅读5分钟. 本文为大家带来Linux系统中156个常用的命令. linux命令是对Linux系统进行管理的命令.对于Linux系统来说,无 ...

  9. Linux 后台开发常用命令目录(更新 ing)

    文章目录 前言 帮助命令 进程与作业管理 文本查看 文本编辑 编程相关 系统管理 文件传输 网络管理 文件与目录管理 磁盘管理 权限管理 用户与组管理 备份压缩 代码版本控制 性能检测 实用工具 前言 ...

  10. iconv命令的使用,解决libxml2中解释中文失败的问题

    为什么80%的码农都做不了架构师?>>>    iconv命令用于LINUX下语言编码格式转换,现在将我成功转换的例子写一下,用以记录: iconv -f "gb2312& ...

最新文章

  1. IIS7.5 HTTP 错误 500 调用loadlibraryex失败的解决方法
  2. Redis 性能问题分析(好文推荐)
  3. 2021-03-26习题4-7 最大公约数和最小公倍数 (15 分)
  4. cmd系统命令不识别
  5. HDU5706 GirlCat
  6. 实操《深入浅出React和Redux》第二期—Flux
  7. sql server数据库查询超时报错
  8. 《MySQL——外部检测与内部统计 判断 主库是否出现问题》
  9. 渐进增强和优雅降级有什么区别
  10. idea查找类 方法在哪里被使用
  11. mysql 分组后,统计记录条数
  12. 奎享添加自己字体_奎享雕刻软件写字操作简要说明
  13. 安全生产知识竞赛答题小程序
  14. PIC单片机C语言编程教程
  15. 如何写好小论文论文摘要
  16. 深入学习理解Java集合
  17. 汽车振动响应分析-频响函数法(附程序)
  18. 志翔亮相中国网络安全年会 终端安全要“轻管控,重感知”
  19. vue3获取当前页面组件的路由参数信息
  20. 程序猿为什么不喜欢写文档?

热门文章

  1. python hello world程序编写_自动编写Python程序的神器,Python 之父都发声力挺
  2. 数据库学习一站式入门资料(纯干货)
  3. Java项目实战:计算机毕业设计案例分享(Java毕设)
  4. python编程语言一览_编程语言大汇总(Part Ⅰ)
  5. 大学数学视频教程整理
  6. Java编程思想笔记目录
  7. 全球名校AI课程库(23)| Harvard哈佛 · 基于Python/JavaScript的Web编程课程『Web Programming with Python and JavaScript』
  8. 微信小程序获取手机号(Java后台实现)
  9. mysql 数据库基础教程(一)
  10. DevC++ 软件下载及安装教程(详细、具体)