我正在制作一个解析器(1 个 csv 到 3 个 csv)脚本,但我遇到了问题。
我是法国人,所以在我的语言中我有这样的字母:é è à ....
一位客户向我发送了一个 Linux 识别为“unknown-8bit”(我猜是 ansi)的 csv 文件。
在我的脚本中,我正在编写 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 -o new_import.csv
iconv
在读取和写入同一文件时失败。
关于bash - 在 shell 中将 ANSI 转换为 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20263909/