Encoding 如何批量更改文件编码

Encoding 如何批量更改文件编码,encoding,Encoding,我有很多文件是用日语编码的(Shift-JIS),我必须把它们的编码改成UTF-8 使用VSCode或其他一些编辑器(如Sublime、Emacs),我可以使用编码Shift JIS打开这些文件,然后使用编码UTF-8保存它们 如何更改文件夹下所有文件(包括子文件夹)的编码?以下是shell脚本: function encode() { iconv -f shift_jis -t utf-8 "$1" > test # iconv -f iso8859-15 -t utf

我有很多文件是用日语编码的(Shift-JIS),我必须把它们的编码改成UTF-8

使用VSCode或其他一些编辑器(如Sublime、Emacs),我可以使用编码Shift JIS打开这些文件,然后使用编码UTF-8保存它们


如何更改文件夹下所有文件(包括子文件夹)的编码?

以下是shell脚本:

function encode() 
{
    iconv -f shift_jis -t utf-8 "$1" > test
    # iconv -f iso8859-15 -t utf8 "$1" > test;
    cat test > "$1";
}

function walk()  
{  
  for file in `ls $1`  
  do  
    local path=$1"/"$file  
    if [ -d $path ]  
     then  
      echo "DIR $path"  
      walk $path  
    else  
      echo "FILE $path"  
      encode $path
    fi      
  done  
}  

if [ $# -ne 1 ]  
then  
  echo "USAGE: $0 TOP_DIR"  
else  
  walk $1  
fi  

恐怕您需要创建自己的程序,或者至少创建一个(bash)脚本来完成这项工作。或者您可以尝试搜索现有的解决方案。我知道有很多编辑器可以对文件进行重新编码,但没有一个编辑器可以自动完成这项工作。