PostgreSQL: 如何处理导出的数据中文显示乱码问题?

在PostgreSQL中,使用COPY命令导出的CSV文件在Windows环境下可能会出现中文乱码。解决方法包括:1) 修改客户端字符集为GBK再导出;2) 使用iconv工具将UTF8编码的文件转换为GB18030编码。通过这些方法,可以确保在不同系统间正确显示中文内容。
摘要由CSDN通过智能技术生成
在数据库维护过程中,经常有需求导出生产库的部分数据,并且要求将数据保存为
Excel 形式, 对于 Oracle 来说,这是非常简单的工作,因为有 plsqldev 等图形化工具,
且功能非常强大,可以导出 Excel, 对于 PG 来说,这方面的支持就少了,首先图形化界面
工具少,另外常用的PG GUI工具 pgadmin 功能非常简单,没有导出数据到 excel 的功能,

尽管如此, PostgreSQL 本身提供的 copy 命令可以实现此功能,可以将数据导成 csv
格式。但是在某些 Linux 环境下导出的 csv 文件,传输到 windows 环境下打开中文却显示
乱码, 本文介绍两种解决 csv 文件在 windows 下显示为乱码的方法。


方法一:
一般 PostgreSQL 建库都是用的 UTF8 字符集, 在 UTF8 字符集情况下如果中文不能
正常显示,可以设置客户端字符集,修改成 " GBK " ,命令如下:

--修改客户端字符集
postgres=# show client_encoding;
client_encoding
-----------------
UTF8
(1 row)

postgres=# set client_encoding='GBK';
SET

--copy 导出数据到 GBK 编码类型的 csv 文件
skytf=# copy skytf.test_2 to '/home/pos
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值