在 Linux 下转换文件编码(如 GBK ↔ UTF-8),常用以下几种方法:
iconv(最常用)file 文件名
# 或
enca 文件名
iconv -f GBK -t UTF-8 input.txt -o output.txt
iconv -f UTF-8 -t GBK input.txt -o output.txt
iconv -f GBK -t UTF-8 file.txt -o file.txt.tmp && mv file.txt.tmp file.txt
enca(自动识别编码)# Debian/Ubuntu
apt install enca
# CentOS
yum install enca
enca -L zh_CN -x UTF-8 file.txt
for f in *.txt; do
iconv -f GBK -t UTF-8 "$f" -o "${f}.utf8"
done
:set fileencoding=utf-8
:wq
或打开时指定:
vim +"set fileencoding=utf-8" file.txt
illegal input sequence:iconv -f GBK -t UTF-8//IGNORE input.txt -o output.txt
如果你有具体文件类型(如 .sh / .csv / .log)或当前编码不清楚,可以发我,我帮你写精确命令。