【问题标题】:Postgres using cp1252 encoding?Postgres 使用 cp1252 编码?
【发布时间】:2015-02-16 23:16:50
【问题描述】:

我有一个使用 UTF-8 作为编码的 postgres 数据库,并将 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';

但这并没有改变任何东西(如上所述,数据库已经这样配置了......)

【问题讨论】:

  • 你说得对,当client_encoding 是 UTF8(或 UNICODE,postgres 也是如此)时,这个错误没有意义。如果在出错的查询之前添加show client_encoding; 会发生什么?

标签: postgresql encoding utf-8


【解决方案1】:

我必须手动插入 BOM,然后它才起作用。 (什么鬼!)

【讨论】:

    猜你喜欢
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 2021-06-14
    • 2015-12-03
    • 2017-11-04
    • 1970-01-01
    相关资源
    最近更新 更多