1. 查看文件的编码\
file

使用 file 命令,并添加-i或–mime参数来查看一个文件的字符编码。

  1. 编码转换工具iconv
iconv options -f from-encoding -t to-encoding inputfile(s)

-f或–from-code表明了输入编码,而-t或–to-encoding指定了输出编码。

  1. 列出所有支持的编码字符集
iconv
  1. 文件编码转换的例子
iconv

将文件从 ISO-8859-1 编码转换为 UTF-8 编码。

如果输出编码后面添加了//IGNORE字符串,那些不能被转换的字符将不会被转换,并且在转换后,程序会显示一条错误信息。

如果字符串//TRANSLIT被添加到了上面例子中的输出编码之后 (UTF-8//TRANSLIT),待转换的字符会尽量采用形译原则。也就是说,如果某个字符在输出编码方案中不能被表示的话,它将会被替换为一个形状比较相似的字符。

如果一个字符不在输出编码中,而且不能被形译,它将会在输出文件中被一个问号标记?代替。

  1. 将多个文件转换为 UTF-8 编码
    可以利用shell脚本
#!/bin/bash
### 将 values_here 替换为输入编码
FROM_ENCODING="value_here"
### 输出编码 (UTF-8)
TO_ENCODING="UTF-8"
### 转换命令
CONVERT=" iconv -f $FROM_ENCODING -t $TO_ENCODING"
### 使用循环转换多个文件
for file in *.txt; do
$CONVERT "$file" -o "${file%.txt}.utf8.converted"
done
exit
  1. 参考