如何将符号/字符(例如:“²”或其他语言符号)从 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语句判断从键盘输入字符的属性属于大写字母,小写字母,数字或其他的符号
如何从python中的文本文档中删除所有标点符号和其他符号?