修改文件名或文件内容编码-convmv

问题的出现

开发小伙伴把之前运行在windows server上的项目迁移到ubuntu上之后出现了中文乱码的问题,分析其原因是代码中创建文件未指定编码,所以就自动匹配了操作系统的编码,也就是从GBK2312到UTF-8了,所以原来windows服务器上的编码到了ubuntu上自然就乱码了

解决问题

知道了问题的原因,现在需要做两个动作:
1.代码中指定具体编码
2.将GBK2312编码的文件转为UTF-8编码

第一个问题就不详述了
第二个问题使用 convmv 命令即可解决,具体用法:./convmv -f GB2312 -t UTF-8 -r --notest *
其中*表示当前路径下所有目录、文件,-f GB2312 -t UTF-8表示将GB2312编码的文件转为UTF-8编码

其他命令

修改文件内容编码也可使用enca命令

enca -L zh_CN file  # 查看文件编码
enca -L zh_CN -x UTF-8 file # 更改文件编码为utf-8

如果想批量修改某目录下所有txt文件可结合find命令来搞定(其他情况就灵活变通吧):
find ./ -name *.txt -exec enca -L zh_CN -x UTF-8 {} \;

posted @   没脚的丛林鸟  阅读(393)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示