linux批量将文件编码由gbk转成utf8

编码转换

一些老的项目,文件编码用的还是gbk,很不利于扩展及维护。经常需要在程序中进行判断及转码,容易出现乱码现象。最好的方式就是将整个项目转成utf-8。那么如何批量将一个目录下的文件转编码?

思路

  • 找出目录下的所有文件类型
  • 遍历要转码的文件类型,如.php
  • 利用vim的set fileencoding=utf8进行转码

具体实现

设置~/.vimrc

set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set ts=4
set expandtab

找出目录下的所有文件类型

find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u

转码的脚本

gbk_to_utf8.sh

#!/bin/bash
for i in `find -name \*.php`
do
    vim -s gbk_utf8.vi $i
done

gbk_utf8.vi

:set fileencoding=utf8
:wq!

在当前目录下执行转码脚本:

./gbk_to_utf8.sh

欢迎查看我的网站原文

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一场梦

个人团队引导介绍页html源码

1013
来自专栏拂晓风起

让tomcat跑起php(caucho quercus简单用法,tomcat运行php)

803
来自专栏用户3030674的专栏

Android 全局使用第三方字体

    将文件放入工程assets目录下。(一般个人习惯单独命名一个文件夹放字体文件,也可直接放入根目录,但记得改引用路径)

962
来自专栏Youngxj

emlog网站公告插件1.3

1354
来自专栏繁花云

Qt中关闭窗口最大化按钮,固定大小

530
来自专栏debugeeker的专栏

《coredump问题原理探究》windows版9.1节栈溢出

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

412
来自专栏xingoo, 一个梦想做发明家的程序员

JSP中include动作与指令

  include指令   JSP中有三大指令:page,include,taglib,之前已经说过了page的用法。这里介绍下include。   使用语法如...

1829
来自专栏自动化测试实战

flask第十九篇——模板【3】

2027
来自专栏中国白客联盟

js之获取浏览器保存的账号密码(二)

正常情况下,当用户登录系统的时候保存了登录的账号密码的话,我们是可以利用js获取到他的表单里面的值发送过来,达到获取到他的账号密码进行下一步渗透。

1174
来自专栏我的博客

zendframework学习笔记(初级版)

1.项目目录结构分析 application存放相关组件 application/configs配置文件 application/controllers控制...

2714

扫码关注云+社区