linux下将gbk文件转换为utf-8
来源于:
https://blog.csdn.net/weixin_34258782/article/details/85830080/
在工作中,经常会遇到使用操作系统不一样的环境,从而导致在不同环境下的文件编辑的编码是不一样的,Windows默认是GBK编码格式,Linux默认是UTF-8的格式,这样就会出现把GBK编码的文件拷贝到Linux下出现乱码情况,很是让人头疼,下面给大家介绍下GBK->UTF-8文件编码批量转换。
Linux命令-enca 查看文件的编码
- Enca语法
-
Usage: enca [-L LANGUAGE] [OPTION]... [FILE]...
-
enconv [-L LANGUAGE] [OPTION]... [FILE]...
-
Detect encoding of text files and convert them if required.
- Enca用法
-
$ enca -L zh_CN file 检查文件的编码
-
$ enca -L zh_CN -x UTF-8 file 将文件编码转换为"UTF-8"编码
-
$ enca -L zh_CN -x UTF-8 file1 file2 如果不想覆盖原文件可以这样
除了有检查文件编码的功能以外,”enca”还有一个好处就是如果文件本来就是你要转换的那种编码,它不会报错,还是会print出结果来, 而”iconv”则会报错。这对于脚本编写是比较方便的事情。
- 转换单个文件的编码
$ enca -L none -x utf-8 index.html
- 转换多个文件的编码
$ enca -x utf-8 *
Linux文件名编码批量转换--convmv
Convmv语法
$ convmv -f 源编码 -t 新编码 [选项] 文件名
- Convmv 常用参数 -r 递归处理子文件夹 –notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。 –list 显示所有支持的编码 –unescap 可以做一下转义,比如把%20变成空格
示例
- 转换一个文件由GBK转换成UTF-8
convmv -f GBK -t UTF-8 --notest utf8 filename
- GBK->UTF-8文件编码批量转换脚本
$ find default -type f -exec convmv -f GBK -t UTF-8 --notest utf8 {} -o utf/{} \;
使用iconv 转换
- Iconv语法
iconv -f encoding -t encoding inputfile
示例
- 单个文件转换
$ iconv -f GBK -t UTF-8 file1 -o file2
- 批量转换
-
$ find default -type d -exec mkdir -p utf/{} \;
-
$ find default -type f -exec iconv -f GBK -t UTF-8 {} -o utf/{} \;
这两行命令将default目录下的文件由GBK编码转换为UTF-8编码,目录结构不变,转码后的文件保存在utf/default目录下。
用空常来坐坐
https://www.cnblogs.com/alexgl2008/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2020-01-02 学习SpringBoot零碎记录——配置应用URL名称
2020-01-02 2019年12月的心情随笔---一并放一起了
2020-01-02 20191214——怼老王的三个故事
2020-01-02 20191216——心情随笔
2020-01-02 20191219——心情随笔
2020-01-02 20191220——心情随笔
2020-01-02 20191223-心情随笔