Sql Postgres将编码为LATIN1的文件复制到编码为UTF的表中

Sql Postgres将编码为LATIN1的文件复制到编码为UTF的表中,sql,postgresql,encoding,copy,bulkinsert,Sql,Postgresql,Encoding,Copy,Bulkinsert,我在批量插入时遇到问题。我正在尝试将编码为LATIN1的文件大容量插入编码为UTF8的表where数据库 invalid byte sequence for encoding "UTF8": 0xc33f 当我设置CLIENT_ENCODING='LATIN1'并从控制台复制之后,它工作正常。但是JDBC告诉我,他不能进行SET-CLIENT\u编码 请问,你们能建议我解决这个问题的方法吗。谢谢 尝试将连接参数设置为true,以允许(暂时)将客户端编码更改为LATIN1。根据PostgreS

我在批量插入时遇到问题。我正在尝试将编码为LATIN1的文件大容量插入编码为UTF8的表where数据库

invalid byte sequence for encoding "UTF8": 0xc33f 
当我设置CLIENT_ENCODING='LATIN1'并从控制台复制之后,它工作正常。但是JDBC告诉我,他不能进行SET-CLIENT\u编码

请问,你们能建议我解决这个问题的方法吗。谢谢

尝试将连接参数设置为true,以允许(暂时)将客户端编码更改为LATIN1。根据PostgreSQL的要求,SQL应该处理LATIN1(客户端)和UTF8(服务器)之间的自动字符集转换

客户端_编码设置由设置 不应更改驱动程序,也不应更改。 如果驾驶员检测到变化,它将 中止连接有一个 此行为的合法例外 但是,在 驻留在服务器上的文件 文件系统。唯一的方法 指定此文件的编码 是通过改变客户端的编码 背景

仅在需要时启用此选项 在以下情况下覆盖客户端编码: 正在复印


为什么不能在jdbc中将
set client\u encoding
语句作为原始sql发送?是的,因为sql查询是通过jdbc执行的。在复制操作之前,我尝试将setter添加到存储过程中,但出现了相同的错误。谢谢!这是一个解决方案。也许你们知道,allowEncodingChanges=true的结果是什么。