Charset从XXX转换为utf-8,命令行

Mar*_*cin 14 scripting encoding command-line character-encoding

我有一堆用ISO-8851-2编码的文本文件(有一些抛光字符).是否有一个linux/mac的命令行工具,我可以从shell脚本运行,将其转换为saner utf-8?

lhf*_*lhf 27

使用iconv,例如像这样:

iconv -f LATIN1 -t UTF-8 input.txt > output.txt
Run Code Online (Sandbox Code Playgroud)

更多信息:

  • 您可能想要指定UTF-8//TRANSLIT而不是plain UTF-8.引用联机帮助页:

    如果将字符串//TRANSLIT附加到to-encoding,则在需要和可能时将转换的字符进行音译.这意味着当一个字符不能在目标字符集中表示时,它可以通过一个或几个相似的字符来近似.在目标字符集之外且无法音译的字符将在输出中替换为问号(?).

  • 有关接受的编码代码的完整列表iconv,请执行iconv -l.

  • 上面的例子使用了shell重定向.确保您没有使用在重定向上修改编码的shell - 也就是说,不要使用PowerShell.


leg*_*cia 10

recode latin2..utf8 myfile.txt
Run Code Online (Sandbox Code Playgroud)

这将覆盖myfile.txt新版本.您也可以使用没有文件名的重新编码作为管道.