【发布时间】:2011-12-11 06:57:42
【问题描述】:
我正在为 SSIS 2005 脚本组件编写一段代码,以从 informix 数据库(其中数据库字符串以 UTF8 格式存储)读取数据。
此字符串的输出需要加载到使用代码页 1252 (ANSI - Latin I) 编码的文本流 (DT_TEXT)。
这是我想要完成的一个简单示例(AllColumnsBuffer 是脚本组件输出缓冲区,ColumnText 是我正在加载的 DT_TEXT 字段的名称)。
Dim s As String = "Testing,1,2,3" & System.Text.RegularExpressions.Regex.Unescape("\u4EB5")
AllColumnsBuffer.AddRow()
AllColumnsBuffer.ColumnText.AddBlobData(encoding.GetEncoding(1252).GetBytes(s))
如果编码发现无法转换为 1252 的字符,我需要抛出一个错误。现在它似乎只是放入了一个 ?如果源中的字符不存在。有什么方法可以验证字符是否存在于目标代码页中?
【问题讨论】:
标签: .net unicode character-encoding ssis