Похоже, что SQL Server 2008 не поддерживает кодовую страницу 65001 при использовании массовой вставки. Если я использую другие кодовые страницы, мои данные будут повреждены при импорте. Есть ли способ правильно вставить мои данные UTF8 в SQL Server 2008 с помощью скриптов?
SQL Server поддерживает Unicode, но, как и Java, он использует только UTF-16 Little Endian (также называемый UCS-2) для данных Unicode в полях NCHAR, NVARCHAR и NTEXT. Я предполагаю, что вы говорите об утилите BCP, которая поддерживает при импорте только данные UCS-2 (она не конвертирует UTF-8).
Другие инструменты SQL-сервера могут поддерживать преобразование данных UTF-8 на лету (например, SQL Server Integration Services (SSIS)). Однако вам может быть лучше предварительно обработать ваши файлы с помощью инструмента командной строки с открытым исходным кодом, чтобы преобразовать UTF-8 в UTF-16 Little Endian, а затем использовать BCP, если это ваш инструмент.