如何处理导出的数据中文显示乱码问题
展开全部
方法一:
一般 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/postgres/script/tf/skytf.test_2.csv' with csv header;
COPY 1000000
备注:此时通过 sftp 将 csv 文件传到 windows 本机,就不会出现乱码了。
方法二: 使用 iconv 工具更改文件编码
iconv 是 linux 命令,用来转换文件的编码的 ,手册解释如下 "Convert encoding of
given files from one encoding to another",我们可以使用 iconv 命令转换文件的编码,如果 utf8
编码的文件中文显示为乱码,可以使用 iconv 命令将 UTF8 格式文件转换成 gb18030,参考步骤:
--导出数据到 utf8 编码类型文件。
skytf=# set client_encoding='UTF8';
SET
skytf=# show client_encoding;
client_encoding
-----------------
UTF8
(1 row)
skytf=# copy skytf.test_2 to '/home/postgres/script/tf/skytf.test_2.csv' with csv header;
COPY 1000000
--将文件编码由 utf8 转换成 gb18030
iconv -f utf-8 -t gb18030 skytf.test_2.csv -o skytf.test_2_gbk.csv
一般 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/postgres/script/tf/skytf.test_2.csv' with csv header;
COPY 1000000
备注:此时通过 sftp 将 csv 文件传到 windows 本机,就不会出现乱码了。
方法二: 使用 iconv 工具更改文件编码
iconv 是 linux 命令,用来转换文件的编码的 ,手册解释如下 "Convert encoding of
given files from one encoding to another",我们可以使用 iconv 命令转换文件的编码,如果 utf8
编码的文件中文显示为乱码,可以使用 iconv 命令将 UTF8 格式文件转换成 gb18030,参考步骤:
--导出数据到 utf8 编码类型文件。
skytf=# set client_encoding='UTF8';
SET
skytf=# show client_encoding;
client_encoding
-----------------
UTF8
(1 row)
skytf=# copy skytf.test_2 to '/home/postgres/script/tf/skytf.test_2.csv' with csv header;
COPY 1000000
--将文件编码由 utf8 转换成 gb18030
iconv -f utf-8 -t gb18030 skytf.test_2.csv -o skytf.test_2_gbk.csv
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |