HexaHow Asked: 2010-02-04 18:37:35 +0800 CST2010-02-04 18:37:35 +0800 CST 2010-02-04 18:37:35 +0800 CST SQL Server 2008 在导入文本文件时不支持 UTF8 编码的代码页 65001 772 使用批量插入时,SQL Server 2008 似乎不支持代码页 65001。如果我使用其他代码页,我的数据在导入时会损坏。有没有办法使用脚本在 SQL Server 2008 中正确插入我的 UTF8 数据? sql-server-2008 1 个回答 Voted rmalayter 2010-03-20T14:06:25+08:002010-03-20T14:06:25+08:00 SQL Server 支持 unicode,但与 Java 一样,它仅对 NCHAR、NVARCHAR 和 NTEXT 字段中的 unicode 数据使用 UTF-16 Little Endian(也称为 UCS-2)。我假设您正在谈论 BCP 实用程序,它仅支持导入时的 UCS-2 数据(它不会转换 UTF-8)。 其他 SQL Server 工具可能支持 UTF-8 数据的动态转换(例如,SQL Server Integration Services (SSIS))。但是,您最好使用开源命令行工具预处理文件以执行 UTF-8 到 UTF-16 Little Endian,然后使用 BCP(如果这是您的工具偏好)。
SQL Server 支持 unicode,但与 Java 一样,它仅对 NCHAR、NVARCHAR 和 NTEXT 字段中的 unicode 数据使用 UTF-16 Little Endian(也称为 UCS-2)。我假设您正在谈论 BCP 实用程序,它仅支持导入时的 UCS-2 数据(它不会转换 UTF-8)。
其他 SQL Server 工具可能支持 UTF-8 数据的动态转换(例如,SQL Server Integration Services (SSIS))。但是,您最好使用开源命令行工具预处理文件以执行 UTF-8 到 UTF-16 Little Endian,然后使用 BCP(如果这是您的工具偏好)。