Postgres使用cp1252编码



我有一个postgres数据库,它使用UTF-8作为编码,并将client_encoding设置为UTF8。然而,当使用应该使用UTF8编码的脚本文件时,似乎假设编码实际上是cp1252,并给我以下错误:

FEHLER:  Zeichen mit Byte-Folge 0x81 in Kodierung "WIN1252" hat keine Entsprechung in Kodierung "UTF8"

这里怎么了?DB不应该假设文件在UTF8中,而不是尝试从cp1252转换它吗?我甚至添加了

SET client_encoding='UNICODE';

但这并没有改变任何事情(正如所说,数据库已经这样配置了…)

我不得不手动插入BOM,然后它就工作了。(见鬼!)

最新更新