页次: 1
文件夹里面有很多*.txt文件,是我以前用Win的时候编辑的,当时是用GBK编码保存的,现在我用vim想把它们批量转为UTF-8编码,结果转成了乱码,想问下如何恢复?
我的 vim 配置:
cat ~/.vimrc
set fileencodings=utf-8,big5,ucs-bom,gb18030,gbk,gb2312,cp936,latin1
set termencoding=utf-8
set encoding=utf-8
转码时用的命令
find . -type f -name "*.txt" -exec vim -c "set encoding=utf-8" -c "set fileencoding=utf-8" -c "set nobomb" -c "wq" {} \;
示例,我用 GBK 编码保存了如下文件:
白日依山尽,黄河入海流。
欲穷千里目,更上一层楼。
结果转成的UTF-8文件里面是这样:
啞甡刓鴃ㄛ酴碩漆霜﹝
郗爵醴ㄛ載奻珨脯瞼﹝
请问能恢复吗?如果能的话,怎么弄?
最近编辑记录 Zangwill (2018-10-09 21:39:57)
离线
for f in $(find . -type f -name "*.txt"); do
<$f iconv -t big5 | iconv -f gbk >$f.utf8
done
记得操作前先备份。
离线
@依云,谢谢,文件全部恢复正常了
离线
页次: 1