0

使用 SQLLINES 我正在尝试从 SQL Server 迁移到 Postgres。 http://www.sqllines.com/home

我的问题是,一旦迁移的数据(nvarchar在 SQL Server 中输入)被转换为Postgrestextvarchar在 Postgres 中,数据本身就会受到影响。

示例源数据:ordertask

目标数据

:o\000r\000d\000e\000r\000t\000a\000s\000k\000

会自动添加到每个字符之后\000的所有数据中。varchar

有什么帮助吗?

4

1 回答 1

1

您看到的带有\000's 的字符串就是您想要的字符串,但它是用 UTF-16LE 编码的,这是 Windows 的默认字符编码,PostgreSQL 不支持这种编码。

您可以在 PostgreSQL 中将 UTF-16LE 编码的字符串存储为字节数组,但您会丢失所有可能需要的文本操作函数。

在将字符串传递给 postgreSQL 之前,您应该使用许多工具之一从 UTF-16LE 转换为 UTF-8(PostgreSQL 首选编码)(在 linux 命令行上,我会使用iconvor recode;您的里程可能会有所不同)。另一种选择是使用为您进行转换的客户端(可能所有基于 Windows 的客户端都这样做)。

于 2019-04-26T21:28:04.313 回答