如何将符号/字符(例如:“²”或其他语言符号)从 oracle 数据库插入到 postgreSQL

Posted

技术标签:

【中文标题】如何将符号/字符(例如:“²”或其他语言符号)从 oracle 数据库插入到 postgreSQL【英文标题】:how to insert sign/character (example: '²' or other language sign) from oracle database to postgreSQL 【发布时间】:2017-08-18 01:56:58 【问题描述】:

我正在尝试将数据从 Oracle 数据库插入到 PostgreSQL。 在Oracle数据库中,标准语句成功:

insert into "schema"."table"@dblink values (2, 'test');

但是当我在“test”旁边添加“²”之类的特殊字符时,它返回了错误:

插入“模式”。“表”@dblink 值 (2, 'test²'); ORA-28500:从 ORACLE 到非 Oracle 系统的连接返回此消息: 错误:编码“UTF8”的字节序列无效:0xbf; 执行查询时出错 22021,NativeErr = 7 ORA-02063: 来自 dblink 的前 3 行

我猜这与语言“UTF8”兼容性有关,但我不知道在哪里修复它。我希望我的问题很清楚 - 语言不当,抱歉。

【问题讨论】:

【参考方案1】:

0xbf 是 ISO-8859-1 ¿,在各种其他 ISO-8859 编码中,它是 żŋП؟Ώ、@ 987654329@,。我不知道您的 Oracle 系统正在使用什么编码,也不知道它以什么编码将数据发送到 PostgreSQL,但看起来 Oracle 正在以 UTF-8 以外的其他编码发送 PostgreSQL 数据,但告诉 PostgreSQL 它是 UTF-8 编码的。

尝试将 PostgreSQL 连接字符串中的 client_encoding 设置为 Oracle 数据库的编码。或者通过您的 ODBC 配置设置编码,或者您设置 Oracle 到 postgres 的连接。

【讨论】:

以上是关于如何将符号/字符(例如:“²”或其他语言符号)从 oracle 数据库插入到 postgreSQL的主要内容,如果未能解决你的问题,请参考以下文章

如何用switch语句判断从键盘输入字符的属性属于大写字母,小写字母,数字或其他的符号

ABAP/4如何将数据输出到屏幕

c语言如何替换字符串中的“&”符号?

如何从python中的文本文档中删除所有标点符号和其他符号?

如何以优雅有效的方式将无符号/有符号整数/长整数转换为 C 字符串?

C语言中啥是字符,啥是字符串啊,谢谢