如何将 varchar 字段中的 UTF 8 编码转换为 nvarchar 字段?

如何将 varchar 字段中的 UTF 8 编码转换为 nvarchar 字段?

UTF-8 字符(近一百万条记录)被导入到 varchar(max) 中作为西欧字符。是否有任何已知的方法可以在 SQL 中修复此问题?我们已经验证,显示的“垃圾”字符实际上是基于西欧编码中表示 UTF-8 十六进制值的错误字符。看来 varchar 字段中的底层十六进制是正确的。理想情况下,我们希望能够在 SQL 中修复此问题,而不是重新导入数据。

答案1

您需要将数据直接重新导入到 nvarchar 列中。

答案2

我只看到过使用应用程序端编码转换来修复您描述的场景(从 UTF-8 转换为 UTF16 或 UCS2 格式)。

相关内容