该场景是一个 SQL Server 实例,一个主要使用 BULK INSERT 操作提供数据的数据库,并且插入的一些文本包含特殊字符,例如\xc3\xb1
因为我在西班牙语环境中工作。
因此,在最初的小测试之后,我意识到当我运行简单的时,这些特殊字符没有正确显示select
,所以我开始检查我能想到的所有内容:
select collation_name from sys.databases where name='DBNAME';
结果为SQL_Latin1_General_CP1_CI_AS
\n\n通过这些测试,我得出结论,数据未正确存储,这就是数据未正确显示和导出的原因。我在互联网上找到的几乎每个解决方案都建议使用nvarchar
而不是varchar
字符串数据类型字段,但这并不能解决这种情况。是什么破坏了我的插入?