我刚刚撞倒我们的服务器已经从Debian的更新4至5 后,我们切换到UTF-8的环境,现在我们有获取文本问题正确打印在浏览器上,因为所有的文件都是非utf8编码,如iso-8859-1,ascii等。更改文件编码通过VIM UTF-8在脚本
我尝试了许多不同的脚本。
我试过的第一个是“iconv”。那个不起作用,它改变了内容,但是文件enconding仍然是非utf8。
enca,encamv,convmv和我通过apt-get安装的其他一些工具也存在同样的问题。
然后我发现了一个python代码,它使用chardet Universal Detector模块来检测文件的编码(工作正常),但是使用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"
希望有人能帮助我。
我不知道argdo意味着什么,但我想这和它的作品: 'VIM + “设置炸弹|设置fileencoding = utf-8 | WQ” $(找到型的F -name * .PHP。 )' – NovumCoder 2010-02-22 15:32:28
好。 argdo只是重复参数列表中每个文件的命令。 – 2010-02-22 16:29:28