You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSIS勾选Unicode导入CSV文件无法识别{CR}{LF}分隔符怎么办

问题成因
  • SSIS平面文件连接器的「Unicode」复选框没有自动识别文件编码的逻辑,勾选后会强制以固定双字节的UTF-16 LE编码解析全文件,此时手动配置的code page参数会直接失效,这就是你调整各类编码选项都无法解决问题的核心原因。
  • 你手中的CSV文件实际并非UTF-16 LE编码:日常业务导出的CSV如果包含非ASCII字符,大多是UTF-8、GBK这类可变/单字节编码,当SSIS强行按双字节为单位逐组读取字节时,原本单字节的CR(0x0D)、LF(0x0A)会和相邻字节拼接成一个双字节字符,根本不会被识别为独立的行分隔符。
  • SSIS默认仅扫描文件前524288字节(512KB)定位分隔符,双字节解析模式下这段扫描范围里匹配不到符合规则的{CR}{LF}序列,就会弹出你看到的报错提示。
解决方案

根据你文件的实际编码选对应方案即可:

  • 如果文件是UTF-8编码:不要勾选「Unicode」选项,直接在code page下拉菜单中选择65001 (UTF-8),此时SSIS既能正常识别CRLF行分隔符,也能正确解析所有非ASCII字符,不会出现乱码。
  • 如果文件确实是UTF-16 LE编码仍报错:先检查文件前512KB范围内是否存在未闭合的引号、错误转义的特殊字符干扰分隔符识别;也可以找到平面文件连接器的ScanRows属性,将默认值1修改为0,强制SSIS扫描全文件定位分隔符(大文件场景下仅会增加少量预读取耗时,不影响导入性能)。
  • 如果文件是GBK/GB2312等ANSI中文编码:保持「Unicode」选项不勾选,code page选择936 (GBK)即可正常读取,无需开启Unicode开关。

避坑提示:不要为了支持中文等非ASCII字符就盲目勾选Unicode选项,SSIS非Unicode模式搭配正确的code page完全可以正常导入所有语种的字符,只有文件本身为UTF-16编码时才需要勾选该选项。

内容的提问来源于stack exchange,提问作者Mordechai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 16:18:20