Sql Postgres将编码为LATIN1的文件复制到编码为UTF的表中
我在批量插入时遇到问题。我正在尝试将编码为LATIN1的文件大容量插入编码为UTF8的表where数据库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
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的结果是什么。