我需要一个 Unix 命令将 UNICODE 格式的 .csv 文件转换为 ANSI 格式。
该文件是从 Cognos 环境导入的,我无法对 cognos 中的格式进行任何更改。
答案1
您可以使用 iconv 在编码之间进行转换
iconv -f utf-8 -t ascii oldfile > newfile
答案2
我注意到我的也有类似的问题,但无法找到它是什么类型的编码。
Notepad++ 告诉我它是 ANSI,所以上面的命令对我有帮助。
现在有很多类型的 ANSI,所以检查的最好方法是键入
iconv-l
这列出了所有编码格式名称。所以就我而言,我将其范围缩小为:
*iconv -l|grep -i ansi ANSI_X3.4-1968// ANSI_X3.4-1986// ANSI_X3.4// ANSI_X3.110-1983// ANSI_X3.110// MS-ANSI//*
因为我不知道具体的 ANSI,所以我尝试了几乎所有的 ANSI,直到我发现它是 MS-ANSI - 我应该知道,因为我从 Microsoft 系统收到了该文件。然后我使用这个命令进行转换:
iconv -f MS-ANSI -t utf-8 样本.csv > 样本UTF8.csv
因此,以同样的方式列出 iconv -l 中的 UNICODE 类型,然后颠倒顺序即可获得您想要的 ANSI 类型,这很简单。