复制代码代码如下:
mysql>show variables like ‘%char%'
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | gbk |
| character_set_system | utf8 |
| character_sets_dir | D:mysqlsharecharsets |
+————————–+—————————-+
查看character_set_database,这里是latin1,latin1是装不了多字节字符集的
二、在windows下设置系统变量为utf8
复制代码代码如下:
mysql>set character_set_database=utf8##设置默认的字符集为utf8
三、导出数据
复制代码代码如下:
mysql>select * from table into outfile ‘c:table.txt' where +条件
这时导出了我想要的部分数据,并以txt文件存在 table.txt中。
方法一:一般 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
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)