【查看文件编码类型:file 命令】
file -i test.txt
输出:
test.txt: text/pln; charset=utf-8
【工具:enca 命令】
安装:
sudo apt-get install enca
查看文件编码类型:
enca -L zh_CN test.txt
转换命令格式:
enca -L 当前语言 -x 目标编码 文件名
意图:把当前目录下的所有文件都转成utf-8
enca -L zh_CN -x utf-8 *
将当前文件夹的所有php文件全部转成utf-8编码:
enca -L zh_CN -x utf-8 *.php
【工具:iconv 命令】
安装:
sudo apt-get install -y libc-bin
转换文件编码时,我们需要指定原文件编码和新文件编码。
测试:
iconv -f gb2312 -t utf-8 file1.txt > file2.txt
-f 参数 指定原文件的编码类型
-t 参数 指定新文件的编码类型
> 符号 表示将转换后的数据输出到 file2.txt 文件中
执行该命令后,文件的编码类型将被转换为UTF-8,且新文件名为 file2.txt。
转换多个文件编码:
需要转换多个文件的编码,我们可以使用 for 循环 结合 iconv 命令 进行批量转换。
意图:遍历该目录下所有以.txt结尾的文件,并使用iconv命令将其转换为UTF-8编码。转换结果将保存在以“new_”为前缀的文件中。
for file in *.txt; do iconv -f GBK -t UTF-8 “$file” > “new_$file”; done
转换某个目录下多个文件编码:
意图:遍历指定目录下的所有文件,并使用iconv命令将其转换为UTF-8编码。转换结果将保存在以“new_”为前缀的同名文件中。
find /path/to/dir -type f -exec sh -c ‘iconv -f GBK -t UTF-8 “$0” > “new_${0%.txt}.txt”‘ {} \;
参考:https://blog.csdn.net/burner/article/details/49925589
参考:https://www.idc.net/help/122151/