温馨提示×

linux文件编码怎么转换

小樊
40
2026-10-13 09:51:51
栏目: 智能运维

在 Linux 下转换文件编码(如 GBK ↔ UTF-8),常用以下几种方法:


一、使用 iconv(最常用)

1. 查看文件编码

file 文件名
# 或
enca 文件名

2. GBK 转 UTF-8

iconv -f GBK -t UTF-8 input.txt -o output.txt

3. UTF-8 转 GBK

iconv -f UTF-8 -t GBK input.txt -o output.txt

4. 直接覆盖原文件(不推荐新手)

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

三、批量转换(脚本示例)

批量 GBK → UTF-8

for f in *.txt; do
    iconv -f GBK -t UTF-8 "$f" -o "${f}.utf8"
done

四、Vim 内部转换

:set fileencoding=utf-8
:wq

或打开时指定:

vim +"set fileencoding=utf-8" file.txt

五、常见问题

  • 乱码:确认原编码是否正确(GBK / GB2312 / BIG5)
  • 报错 illegal input sequence:
    iconv -f GBK -t UTF-8//IGNORE input.txt -o output.txt
    

如果你有具体文件类型(如 .sh / .csv / .log)或当前编码不清楚,可以发我,我帮你写精确命令。

0 踩