使用SQLLINES我正在尝试从SQL Server迁移到Postgres。 http://www.sqlines.com/home
我的问题是,一旦迁移了数据(在SQL Server中为类型nvarchar
),在Postgres中将其转换为text
或varchar
,并且数据本身受到了影响。
示例源数据:ordertask
目标数据
:o\000r\000d\000e\000r\000t\000a\000s\000k\000
\000
将自动添加到每个字符之后的所有varchar
数据中。
有帮助吗?
答案 0 :(得分:1)
您看到的带有\000
的字符串只是您想要的字符串,但是它以UTF-16LE(Windows的默认字符编码)进行编码,而PostgreSQL不支持。
您可以将utf-16le编码的字符串作为字节数组存储在PostgreSQL中,但是您可能会丢失所有可能需要的文本操作功能。
在将字符串传递到postgreSQL之前(在Linux命令行上,我将使用iconv
或{{1},应使用多种工具之一将其从UTF-16LE转换为UTF-8(PostgreSQL首选编码)。 }}; 你的旅费可能会改变)。另一个选择是使用为您执行转换的客户端(可能是所有基于Windows的客户端都进行转换)。