我正在使用SSIS包从Postgres数据库中提取数据,但是出现以下错误之一。
编码为“ UTF8”的字节序列为0xef 0xbf 0xbd的字符没有 在编码“ WIN1252
我不知道如何解决。我将sql表中的所有列都设置为NVARCHAR(MAX),但仍然没有用。请提供解决方案。
答案 0 :(得分:1)
完整的Unicode字符集(以UTF8编码)包含数万个不同的字符。 WIN1252包含256。您的数据包含WIN1252中无法表示的字符。
您要么需要导出为更有用的字符编码,要么从源数据库中删除“笨拙”字符,或者使用SSIS本身进行一些(有损的)翻译(我相信您想搜索“字符映射翻译” )。
我首先建议尽管花费一个小时左右的时间来研究Unicode主题,但它是utf编码及其与ISO和WIN字符集的关系。这样,您将了解要选择以上哪个。