【发布时间】:2017-09-16 19:50:03
【问题描述】:
我有一个数据库,其中大多数字符串都存储在 varchar 列中。 一列存储人名,有些列有撇号,例如“奥马利”。
当我将此数据输出到 csv 时,撇号变为“O’ Malley”。
我已经尝试了许多步骤,但无法解决这个问题,可以使用一些建议。到目前为止,我有:
- 已将所有字符串转换为 Unicode。
- 将 ssis 任务(oledb 源、脚本任务和平面文件连接器)上的代码页更改为 65001
- 将平面文件目标连接的“unicode”属性更改为“True”。这破坏了现在在 excel 中打开的 csv,所有数据都在第一列,excel 看不到它是一个分隔文件。
有什么建议可以尝试下一步吗?
谢谢。
【问题讨论】:
-
你在观察这个奇怪的角色是什么? Excel?记事本?您能否确认这是
varchar字段,而不是nvarchar字段? SSIS 元数据查看器说数据类型是什么?如果你在记事本++中打开你的CSV,它是什么类型的编码? -
我在 excel 中看到了不需要的字符,但是如果在记事本中打开,数据看起来很正常,没有不需要的字符
-
所以这是一个excel问题。这有帮助吗:scrapehero.freshdesk.com/support/solutions/articles/…。如果目标是拥有可以在 excel 中打开的文件,请尝试使用 excel 目标(不是 CSV 目标)
标签: sql-server unicode ssis