哪种Postgres multi client_encoding最佳实践?

时间:2019-10-31 01:18:42

标签: postgresql encoding

我有一个数据库服务器和一个编码为UTF8的客户端,并且客户端有时用SJIS或LATIN1写入数据,

ERROR:  invalid byte sequence for encoding "UTF8": 0xd5 0x78

我尝试将client_encoding设置为SJIS,然后就可以了

我想知道为什么会发生此错误吗?

因为我认为UTF8支持本文档中介绍的两个文件

https://www.postgresql.org/docs/11/multibyte.html#id-1.6.10.5.7

有什么方法可以使其自动转换而无需手动设置编码?

1 个答案:

答案 0 :(得分:1)

否,您需要明确告诉它客户端使用什么编码。 Postgres确实支持两种编码之间的自动转换,但不支持自动编码 detection 。如果假定客户端使用UTF-8,但随后又写了一些SJIS字节,则它们可能最终会变成无效。