1. 问题描述
后台用node来解析前端上传的CSV文件,由于不同系统CSV文件编码格式不同,导致后台解析出现乱码。
2. 解决思路
找出CSV编码格式 —> 用该编码方式解码 —> csv-parse解析内容
3. 实践
NPM库 jschardet
可以识别出一个Buffer数据所使用的编码格式。
用法如下
|
|
支持如下编码
- Big5, GB2312/GB18030, EUC-TW, HZ-GB-2312, and ISO-2022-CN (Traditional and Simplified Chinese)
- EUC-JP, SHIFT_JIS, and ISO-2022-JP (Japanese)
- EUC-KR and ISO-2022-KR (Korean)
- KOI8-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, and windows-1251 (Russian)
- ISO-8859-2 and windows-1250 (Hungarian)
- ISO-8859-5 and windows-1251 (Bulgarian)
- windows-1252
- ISO-8859-7 and windows-1253 (Greek)
- ISO-8859-8 and windows-1255 (Visual and Logical Hebrew)
- TIS-620 (Thai)
- UTF-32 BE, LE, 3412-ordered, or 2143-ordered (with a BOM)
- UTF-16 BE or LE (with a BOM)
- UTF-8 (with or without a BOM)
- ASCII
4. 代码
|
|