我正在制作一个解析器(1个csv转成3个csv)脚本,但是我遇到了问题。因为我是法国人,我的语言中有像
客户给我发送了一个csv文件,Linux将其识别为“未知的8位”(我猜是ansi格式)。
在我的脚本中,我要编写3个新的csv文件。但是ViM将它们创建为ISO Latin1格式,因为它接收到的输入与此最接近,但我的
所以我尝试将第一个ANSI格式的csv文件转换为UTF-8:
é è à ....
这样的字母。客户给我发送了一个csv文件,Linux将其识别为“未知的8位”(我猜是ansi格式)。
在我的脚本中,我要编写3个新的csv文件。但是ViM将它们创建为ISO Latin1格式,因为它接收到的输入与此最接近,但我的
é,è,à...
被破坏了。我需要UTF-8格式。所以我尝试将第一个ANSI格式的csv文件转换为UTF-8:
iconv -f "windows-1252" -t "UTF-8" import.csv -o import.csv
问题是它破坏了我的CSV文件。现在只有一行。但我的特殊字符没问题。有没有一种方法可以将ANSI转换为UTF-8并保留我的行?
iconv -f "windows-1252" -t "UTF-8" import.csv | sponge import.csv
。该命令将导入的 CSV 文件从 windows-1252 编码转换为 UTF-8 编码,并使用 sponge 工具将结果写回原始文件,以避免输出到终端并手动将其重定向回输入文件。 - ndemouCP1250
作为输入编码。 - To Kra