批量更改文件/目录的编码

批量更改文件/目录的编码

由于某种原因,我的服务器上的许多文件/目录不是 UTF-8 编码的。有没有办法可以更改这些文件以使其采用 UTF-8 编码?服务器上的大多数文件都是 UTF-8。

有什么方法可以批量修复这些文件,以便可以使用我的文本编辑器下载它们?

在此处输入图片描述

答案1

iconv程序以一种编码读取文本并以另一种编码输出文本。如果没有指定输入文件,或者指定为破折号 (-),iconv 将从标准输入读取。如果没有指定输出文件,iconv 会写入标准输出。

   If no from-encoding is given, the default is derived from  the  current
   locale's  character  encoding.  If no to-encoding is given, the default
   is derived from the current locale's character encoding.

iconv可能是您的默认 Ubuntu 安装的一部分。您可以使用以下命令确认它已安装,which iconv输出将是程序的位置,在我的情况下是/usr/bin/iconv

如果由于某种原因你没有它,你可以安装它sudo apt-get install libc-bin

看起来它iconv在 OSX 上也可用。

如果您不知道现有的编码,您可以尝试file -i filename使用 Ubuntu 或file -I filenameOSX,它应该提供包括编码在内的元数据。

例子:

$file -i netflix-backtrace.txt 
netflix-backtrace.txt: text/plain; charset=us-ascii

资料来源:

man iconv

https://stackoverflow.com/questions/64860/best-way-to-convert-text-files-between-character-sets

https://stackoverflow.com/questions/805418/how-to-find-encoding-of-a-file-in-unix-via-scripts

相关内容