我通过选择导出-> 相关文件从经合组织 http://stats.oecd.org/Index.aspx?datasetcode=CRS1 ('CRS 2013 data.txt') 下载一个文件。我想在 Ubuntu (14.04 LTS) 中使用这个文件。
当我运行时:
dos2unix CRS\ 2013\ data.txt
我懂了:
dos2unix: Binary symbol 0x0004 found at line 1703
dos2unix: Skipping binary file CRS 2013 data.txt
我检查文件的编码:
file --mime-encoding CRS\ 2013\ data.txt
看看:
CRS 2013 data.txt: utf-16le
我愿意:
iconv -l | grep utf-16le
它不返回任何东西,所以我这样做:
iconv -l | grep UTF-16LE
返回:
UTF-16LE//
然后我运行:
iconv --verbose -f UTF-16LE -t UTF-8 CRS\ 2013\ data.txt -o crs_2013_data_temp.txt
并检查:
file --mime-encoding crs_2013_data_temp.txt
看看:
crs_2013_data_temp.txt: utf-8
然后我尝试:
dos2unix crs_2013_data_temp.txt
并得到:
dos2unix: Binary symbol 0x04 found at line 1703
dos2unix: Skipping binary file crs_2013_data_temp.txt
然后我尝试强制它:
dos2unix -f crs_2013_data_temp.txt
它可以工作,即dos2unix 完成转换而无需退出/抱怨,但是当我打开文件时,我看到诸如“FoÄŤa 和„ÅšajniÄŤe”之类的条目。
我的问题是为什么?是因为 BOM 对 dos2unix 不可见吗?因为不见了?我没有做正确的转换吗?如何转换此文件(正确?)以便我可以阅读它。