Назад | Перейти на главную страницу

SQL Server 2008 не поддерживает кодовую страницу 65001 для кодировки UTF8 при импорте текстового файла

Похоже, что 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, если это ваш инструмент.