`

Linux下查看文件编码,文件编码格式转换和文件名编码转换.

 
阅读更多

如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。

 

 

查看文件编码
在Linux中查看文件编码可以通过以下几种方式:
1.在Vim中可以直接查看文件编码
:set fileencoding
即可显示文件编码格式。
如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
~/.vimrc 文件中添加以下内容:

set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936

这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。

 

 

 

文件编码转换
1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
:set fileencoding=utf-8

 

 

 

2. iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如将一个UTF-8 编码的文件转换成GBK编码
iconv -f GBK -t UTF-8 file1 -o file2

 

iconv -f gbk -t utf8 linux常用命令.txt > linux常用命令.txt.utf8

 

 

 

文件名编码转换:

 

从Linux 往 windows拷贝文件或者从windows往Linux拷贝文件,有时会出现中文文件名乱码的情况,出现这种问题的原因是因为,windows的文件名 中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致,所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。

在Linux中专门提供了一种工具convmv进行文件名编码的转换,可以将文件名从GBK转换成UTF-8编码,或者从UTF-8转换到GBK。

 

首先看一下你的系统上是否安装了convmv,如果没安装的话用:
yum -y install convmv
安装。

 

 

下面看一下convmv的具体用法:

convmv -f 源编码 -t 新编码 [选项] 文件名

常用参数:
-r 递归处理子文件夹
--notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。
--list 显示所有支持的编码
--unescap 可以做一下转义,比如把%20变成空格
比如我们有一个utf8编码的文件名,转换成GBK编码,命令如下:

convmv -f UTF-8 -t GBK --notest utf8编码的文件名

这样转换以后"utf8编码的文件名"会被转换成GBK编码(只是文件名编码的转换,文件内容不会发生变化)

分享到:
评论

相关推荐

    Linux下查看文件编码,文件编码格式转换和文件名编码.doc

    Linux下查看文件编码,文件编码格式转换和文件名编码

    JAVA文件编码转换工具1.50base[jar文件]

    jar文件,linux下终端使用 java -jar 文件名运行 选择文件 重命名文件为原文件名+".bak" 执行编码转换,创建新文件为原文件名 选择文件夹 文件过滤生效 附带GBK编码文件news.sql 有问题请邮件我:hj-545@qq.com ...

    最新版kkFileView,V4.4.0源码编译Linux安装包

    2023年07月10日,v4.4.0版本迭代开启 1. ofd修复部分已知问题. 2. 更新xlsx前端解析组件 3. 修复 forceUpdatedCache 属性设置,但是本地缓存文件不...12.支持 301重定向 及文件名被编码 13.其他功能优化及已知问题修复

    kkFileView-4.4.0 源码编译包包含Windows和Linux两个版本

    下载后可以直接部署使用,是基于官方最新的源码进行maven编译得到的。 2023年07月10日,v4.4.0版本迭代开启 1. ofd修复部分已知问题. ...12.支持 301重定向 及文件名被编码 13.其他功能优化及已知问题修复

    PHP空间管理助手PHP文件管理管理

    可以搜索文件名和文件内容 2.增加对UTF-8编码文件的支持 3.增加文件编码转换功能 4.修复linux下中文名不能显示的bug 5.修复zip文件改名造成显示错误bug 6.修复firefox和opera下的显示bug 7.修复index.html的bug 8....

    PHPCMS 文件管理器(原Longbill文件管理器) v4.03

    可以搜索文件名和文件内容 2.增加对UTF-8编码文件的支持 3.增加文件编码转换功能 4.修复linux下中文名不能显示的bug 5.修复zip文件改名造成显示错误bug 6.修复firefox和opera下的显示bug 7....

    cmd操作命令和linux命令大全收集

    del /S /Q 目录 或用:rmdir /s /Q 目录 /S删除目录及目录下的所有子目录和文件。同时使用参数/Q 可取消删除操作时的系统确认就直接删除。(二个命令作用相同) move 盘符路径要移动的文件名 存放移动文件的路径...

    binutils-2.21.1-mips32r1-linux-static.tar.gz

    addr2line-将地址转换为文件名和行号。 ar-用于创建,修改和提取档案的实用程序。 c ++ filt-过滤以解编码编码的C ++符号。 dlltool-创建用于构建和使用DLL的文件。 gold-一个新的,更快的,仅ELF的链接器,仍...

    phpcms-php

    可以搜索文件名和文件内容 2.增加对UTF-8编码文件的支持 3.增加文件编码转换功能 4.修复linux下中文名不能显示的bug 5.修复zip文件改名造成显示错误bug 6.修复firefox和opera下的显示bug 7.修复index.html的bug 8....

    linux.chm文档

    zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包 unzip file1.zip 解压一个zip格式压缩包 返回顶部索引 ^ RPM 包 - (Fedora, Redhat及类似系统) rpm -ivh package.rpm ...

    宋劲彬的嵌入式C语言一站式编程

    目录 历史 前言 I....1. 程序的基本概念 1. 程序和编程语言 2. 自然语言和形式语言 ...3. 在Linux C编程中使用Unicode和UTF-8 B. GNU Free Documentation License Version 1.3, 3 November 2008 参考书目 索引

    Linux高级bash编程

    Du: DOS 到 UNIX 文本文件的转换. 12-21. rot13: rot13, 弱智加密. 12-22. Generating "Crypto-Quote" Puzzles 12-23. 格式化文件列表. 12-24. 使用 column 来格式化目录列表 12-25. nl: 一个自己计算行号的脚本. ...

    convmv-linux-keylin.zip

    文件名转码的工具--convmv,convmv能帮助我们很容易地对一个文件,一个目录下所有文件进行编码转换,比如gbk转为utf8等。

    a-lame-mp3-encoder:给定一个.wav文件目录,利用并行性将它们编码为.mp3文件

    应用程序应该在Windows和Linux上是可编译且可运行的 生成的MP3文件将与源WAV文件放在同一目录中,文件名扩展名应适当更改为.MP3 给定文件夹中的非WAV文件应被忽略 多线程应通过使用Posix线程来实现(存在Windows的...

    awvs 助手,可以自动化导入 url 和自动生成报告,并分类标识。

    【功能】: ~~~ Awvs 小工具 ver 0.42 ~~~ 1. 导入扫描任务 ...6.注意文本文件的编码问题。win请用GBK,linux或者mac请用utf-8. (其他版本请联系我索取) 7.任何问题请留言给我,我会持续升级解决bug。

    wav2mp3:一个CC ++命令行应用程序,它将一组WAV文件编码为MP3

    文件名扩展名应适当更改为.MP3 给定文件夹中的非WAV文件应被忽略多线程应通过使用Posix线程来实现(存在Windows的实现) 不得使用Boost库LAME编码器应在合理的标准设置下使用(例如,质量等级为“良好”的基于质量的...

    详解Linux环境下使Nginx服务器支持中文url的配置流程

    主要介绍了Linux环境下使Nginx服务器支持中文url的配置流程,文中还介绍了一个在Linux下将非UTF-8的文件名转换为UTF-8编码,的方法,需要的朋友可以参考下

    linux_c API函数大全

    LINUX C函数库API 1.字符测试篇 15 1.1 15 isalnum(测试字符是否为英文或数字) 15 1.2 15 isalpha (测试字符是否为英文字母) 15 1.3 16 isascii(测试字符是否为ASCII 码字符) 16 1.4 17 iscntrl(测试字符是否...

Global site tag (gtag.js) - Google Analytics