IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

Linux查看文件编码格式及文件编码转换

Zhang Jiuan' Notes 2010-01-03 20:41:35 累计浏览 2,881 次
本机暂存
如果你需要在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)编码打开。
2. enca (如果你的系统中没有安装这个命令,可以用sudo yum install -y enca 安装 )查看文件编码
$ enca filename
filename: Universal transformation format 8 bits; UTF-8
CRLF line terminators
需要说明一点的是,enca对某些GBK编码的文件识别的不是很好,识别时会出现:
Unrecognized encoding

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

2. enconv 转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下
enconv -L zh_CN -x UTF-8 filename

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

如果你只是想对文件名进行编码转换,可以参照这篇文章:/it/article.php?id=899

同分类推荐文章

  1. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. vim几个小技巧(批量替换,列编辑) (累计阅读 37,517)
  2. 简明Vim练级攻略 (累计阅读 22,278)
  3. Linux如何统计进程的CPU利用率 (累计阅读 16,308)
  4. Vim下的代码自动补全和代码跳转阅读 (累计阅读 15,348)
  5. 我的 RHCA 之路 (累计阅读 14,013)
  6. Linux内存点滴 用户进程内存空间 (累计阅读 13,231)
  7. 给程序员新手的一些建议 (累计阅读 13,089)
  8. Linux 性能监控、测试、优化工具 (累计阅读 13,011)
  9. 为什么要用 Emacs/Vim,而不是任何其他编辑器 (累计阅读 13,018)
  10. 关于linux内存free的一些事情 (累计阅读 12,867)