Перекодирование текста в ETL-потоке SSIS
Предположим, что на входе в поток данных SQL Server Integration Services Вы получаете строки в неверной кодировке. Такое бывает если, например, нерадивый администратор MySQL для своей базы данных, которую Вы используете в качестве источника, не настроил кодировку правильно.
Что бы перекодировать в потоке данных используем Script Component с C#:
// Конвертируем поле name
var fromEncoding = Encoding.GetEncoding(1251); // из какой кодировки
var bytes = fromEncoding.GetBytes(Row.name);
var toEncoding = Encoding.UTF8; // в какую кодировку
Row.nameUTF = toEncoding.GetString(bytes);
Вы можете указать свои кодировки в зависимости от того, из чего во что нужно исправить.
Вот как работает пример:
