通过脚本中的vim将文件编码更改为utf-8

我刚刚被打倒了,我们的服务器已经从Debian 4更新到5。
我们切换到UTF-8环境,现在我们有问题在浏览器上正确打印文本,因为所有文件都是非utf8编码,如iso-8859-1,ascii等。

我尝试了许多不同的脚本。

我试过的第一个是“iconv”。那一个不工作,它改变内容,但文件enconding仍然是非utf8。

同样的问题与enca,encamv,convmv和一些其他工具我通过apt-get安装。

然后我发现了一个python代码,使用chardet通用检测器模块,以检测文件的编码(工作正常),但使用unicode类或编解码器类保存为utf-8不工作,没有任何错误

我发现将文件及其内容转换为UTF-8的唯一方法是vi。

这些是我为一个文件做的步骤:

vi filename.PHP
:set bomb
:set fileencoding=utf-8
:wq

而已。那一个工作完美。但是如何可以通过脚本运行。
我想写一个脚本(linux shell),它遍历一个目录所有的PHP文件,然后使用vi使用上面的命令转换它们。
因为我需要启动vi应用程序,我不知道如何做这样的事情:

“vi –run-command =’:set bomb,:set fileencoding = utf-8’filename.PHP

希望有人可以帮助我。

这是我知道的最简单的方法,从命令行轻松地这样做:
vim +"argdo se bomb | se fileencoding=utf-8 | w" $(find . -type f -name *.PHP)

或者更好的是,如果文件数量预计是相当大:

find . -type f -name *.PHP | xargs vim +"argdo se bomb | se fileencoding=utf-8 | w"

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...