database1:

  • show LC_CTYPE;显示C
  • show LC_COLLATE;显示C
  • show SERVER_ENCODING;显示UTF8

但是set "PGPASSWORD=password1" & set "PGCLIENTENCODING=UTF8" & psql.exe -h 127.0.0.1 -p 5432 -U postgres -d database1 -c "INSERT INTO table1 (column1) VALUES ('mise à jour 1');"

显示:ERROR: invalid byte sequence for encoding "UTF8": 0xc8 0x20

例如,如果将PGCLIENTENCODING设置为ISO_8859_5,则错误消失

如何解决此问题?

推荐答案

没有什么可修复的.您的Windows shell使用的编码与UTF-8不同,因此您必须将客户端编码设置为该编码才能正常工作.要找出要使用的客户端编码,您必须找出shell使用的编码.这又取决于您使用的shell以及Windows系统的配置方式.

Postgresql相关问答推荐

我无法让pg_cron扩展在最新的Postgres 16图像中工作

PostgreSQL解释分析实际时间不加总

一列引用两个不同的表

可以向判断枚举值的SQL列添加约束吗?

PostgreSQL plpgsql函数问题

为MCV扩展统计设置统计目标

在连接字符串并将其附加到 PostgreSQL 中的 where 子句时出现语法错误.怎么修?

具有有限字母表的自定义字符串类型

带有附加组的时间刻度 interpolated_average

订阅标签保存在哪个表中?

postgres 的密码

UPDATE implies move across partitions

如何更改几何列的 SRID?

无法识别的配置参数bytea_output

Rails 4 迁移: has_and_belongs_to_many table name

如何判断 PostgreSQL 事务中的待处理操作

如何使 array_agg() 像 mySQL 中的 group_concat() 一样工作

错误:关系列不存在 PostgreSQL,无法运行插入查询

Postgis / Geodjango:无法确定数据库的 PostGIS 版本

Postgres DB 上的整数超出范围