添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
憨厚的松树  ·  c# Interface, virtual ...·  1 年前    · 
拉风的领结  ·  jQuery ...·  1 年前    · 
逃跑的键盘  ·  opencsv 读取指定行-掘金·  1 年前    · 
茫然的胡萝卜  ·  K8s 中 PV 和 PVC ...·  1 年前    · 

默认情况下,PostgreSQL是不转换字符集的,如果你的数据库是UTF8的字符集,一般终端的中文字符集会设置为GBK,或en_US(查看终端的字符集可以看LANG环境变量的设置),所以你输入的中文是GBK的编码,这个编码不经转换的存入数据库中,而数据库是UTF8的,PostgreSQL一看没有这样的UTF8编码,所以当然报错了。

【解决方法】:

方法一:设置postgresql的客户端编码为GBK,这时PostgreSQL就知道输入的内容是GBK编码的,这样PostgreSQL数据库会自动做字符集的转换,把其转换成UTF8编码。

方法二:直接设置终端的字符集编码为UTF8,让输入的编码直接为UTF8,而不是GBK。

【具体演示】:

设置postgresql的客户端编码:

设置psql客户端字符集为GBK,方法有两种,一种是在psql中输入“\encoding GBK” ,另一种是设置环境变量“export PGCLIENTENCODING=GBK”,演示如下:

#psql -d dsc

dsc=# insert into t values(1,'中国');

ERROR:  invalid byte sequence for encoding "UTF8": 0xd6d0

HINT:  This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".

dsc=# show client_encoding;

show client_encoding;

client_encoding

-----------------

(1 row)

dsc=# \encoding GBK

\encoding GBK 

dsc=# show client_encoding;

client_encoding

-----------------

(1 row)

dsc=# insert into t values(1,'中国');

INSERT 0 1

dsc=# commit;

WARNING:  there is no transaction in progress

COMMIT

dsc=# select * from t;

id | name

----+------

1 | 中国

(1 row)

[postgres@dsc ~]$ export PGCLIENTENCODING=GBK

[postgres@dsc ~]$ psql

psql: FATAL:  conversion between GBK and LATIN1 is not supported

[postgres@dsc ~]$ psql -d dsc

psql (8.4.3)

Type "help" for help.

dsc=# select * from t;

id | name

----+------

1 | 中国

(1 row)

dsc=# insert into t values(2,'我的中国');

INSERT 0 1

dsc=# select * from t;

id |   name

----+----------

1 | 中国

2 | 我的中国

(2 rows)

原因是没有正确设置客户端字符集。 默认情况下,PostgreSQL是不转换字符集的,如果你的数据库是UTF8的字符集,一般终端的中文字符集会设置为GBK,或en_US(查看终端的字符集可以看LANG环境变量的设置),所以你输入的中文是GBK的编码,这个编码不经转换的存入数据库中,而数据库是UTF8的,PostgreSQL一看没有这样的UTF8编码,所以当然报错了。【解决方法】:
ERROR : invalid byte sequence for encoding UTF8 ”: 0x00 可能是Oracle的表字段中存在chr(0) 字符 1.问题描述 最近在做Oracle到 Postgresql 数据 的同步,采用的是ETL表输入表输出组件,其中几张表同步时总是报如下错误: ERROR Batch entry 0 INSERT INTO table_name (column_name) VALUES ( values) was aborted: ERROR : invalid byte
导入 SQL必知必会文件时报错: invalid byte sequence for encoding UTF8 ”: 0xff SQL必知必会提供的文件是:create.txt和populate.txt,可以使用mv create.txt create.sql重命名文件 使用psql -s mydb进入单步模式,然后使用\i create.sql 导入 ,报错 invalid byte sequence for encoding UTF8 ”: 0xff 解决方法: 使用file命令查看文件编码 file cre
原因是没有正确设置客户端字符集。 默认情况下, PostgreSQL 是不转换字符集的,如果你的 数据 库是 UTF8 的字符集,一般终端的中文字符集会设置为GBK,或en_US(查看终端的字符集可以看LANG环境变量的设置),所以你输入的中文是GBK的编码,这个编码不经转换的存入 数据 库中,而 数据 库是 UTF8 的, PostgreSQL 一看没有这样的 UTF8 编码,所以当然报错了。 【解决方法】: 方法一...
postgres@localhost:~$ psql -U wsgjjkzg -d t_gj_tzy < /data/data1/t_gj_tzy.2035826.sql ERROR : invalid byte sequence for encoding " UTF8 ": 0xe5 0xb7 CONTEXT: COPY news_article, line 329736 1、“...
在使用 psql 执行 数据 插入操作的时候,提示: ERROR : invalid byte sequence for encoding " UTF8 ": 0xd5 0xc5 错误原因是使用客户端工具 XShell 连接 Ubuntu 系统时,没有指定编码为:UTF-8 解决方法: 打开连接属性,左侧类别中选择终端,右侧编码选择:Unicode(UTF-8)
postgresql ERROR : invalid byte sequence for encoding UTF8 ”: 0x92copy table_name from 'd:\filename.csv' with csv header该错误表示 文件非 UTF8 编码
var sql = ""; if(params["orgcode"].value != ""){ sql +=" and a.orgcode like '%" + decodeURI(decodeURI(params["orgcode"].value))+"%' "; if(params["orgname"].value != ""){ sql +=" and a.orgname like '%" +decodeURI(decodeURI(params["orgname"].value))+"%' "; if(params["regioncode"].value != ""){ sql +=" and a.regioncode like '%" + decodeURI(decodeURI(params["regioncode"].value))+"%' "; url 传递的时候需要两次encodeURI,birt两次解码 url = encodeURI(encodeURI(url)); Oracle plsql ORA-12154: TNS: 无法解析指定的连接标识符 uaoian: 不能有空格!!! 在虚拟机中安装linux后切换至图形界面 界面显示 sudo:yum: command not found,这怎么搞啊 在虚拟机中安装linux后切换至图形界面 栉雨之行: 感谢分享,困扰好久的问题解决了,谢谢啦 表情包 解析接口返回的jason数据 qq_35373754: 麻烦写的简单点