微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

informix转储数据到postgresql的中文乱码问题

用informix自带@R_7_4044@执行unload语句导出数据为unl文件

由于informix用的gb18030字符集,postgresql用的utf8字符集

用linux自带的ised命令对导出的unl文件行尾多余的分隔符|进行替换删除

然后用linux自带的iconv命令对导出的informix进行转码

然后用postgresql的psqlcopy语句来进行导入

导入的时候经常会出现列对不齐导致导入失败

最后发现原数据库中文的”珅“字会变成为”玕|“,而”|“是informix的认分隔符,从而导致列变多。

起初以为是utf8转码的时候造成的

逐步分析发现竟然是unload语句从informix数据库中导出未转码前,”珅“字已变成为”玕|“

解决方法

将nformix的unload语句中的认分隔符”|“换成”,",问题得到了解决

语句示例如下:

unload to 123.unl delimiter ','

select * from xxxx;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐