csv文件很常见,很多软件都有导入和导出csv的功能。导入和导出速度快,体积小,技术也简单,所以很通用。
但问题是csv的打开,我们一般依赖于excel或者wps。打开后,我们发现某些格式和原数据并不一致。或者我们打开后,发现有乱码的情况。
csv乱码的原因,其实就是csv解析的时侯“字符编码”(有时侯习惯叫“字符集”,其实是不正确的叫法)和实际不符合。因为历史遗留的原因,“字符编码”有228种,然后你打开的时侯,只能默认或选择一种。事先并不知道csv的格式,excel或wps也没有让选择“字符编码”,所以乱码会发生。现在我们一般使用"utf-8"来保存csv,这也是国际通行的办法。大家都用"utf-8"保存和打开csv,这样就不会出现乱码问题了。但是有很多软件,包括excel和wps默认的仍然不是"utf-8",所以我们在打开csv的时侯,需要选择“字符编码”。
hpctb在打开和导入csv数据之前,提供了40种“字符编码”的选择,如图
这40种“字符编码”几乎已经覆盖了全部的“字符编码”范围,为什么不是228种呢,因为有些是超集。
我们看看支持哪些?BIG5,EUC_JP,EUC_KR,GBK,IBM866,ISO_2022_JP,ISO_8859_10,ISO_8859_13,ISO_8859_14,ISO_8859_15,ISO_8859_16, ISO_8859_2, ISO_8859_3, ISO_8859_4, ISO_8859_5, ISO_8859_6, ISO_8859_7, ISO_8859_8, ISO_8859_8_I, KOI8_R,KOI8_U,SHIFT_JIS,UTF_16BE,UTF_16LE,UTF_8,MACINTOSH,REPLACEMENT,GB18030,WINDOWS_1250,WINDOWS_1251, WINDOWS_1252,WINDOWS_1253,WINDOWS_1254,WINDOWS_1255,WINDOWS_1256,WINDOWS_1257,WINDOWS_1258,WINDOWS_874, X_MAC_CYRILLIC,X_USER_DEFINED
在国内,csv一般只有两种格式,不是GBK就是UTF_8,hpctb默认UTF_8。所以在hpctb中你可以不用选择,先"打开"csv,如果发现有乱码,再点“特定csv”一般就正常了。如果这两步试过了还是乱码,你就得一个个“字符编码”去选了。
只要我们选正确了“字符编码”,在hpctb中就不会出现csv乱码的情况了。