【问题标题】:Postgres :character with Byte sequence in encoding "UTF8" has no equivalent encoding in WIN1252Postgres:编码为“UTF8”的字节序列字符在WIN1252中没有等效编码
【发布时间】:2014-12-18 19:20:17
【问题描述】:

我正在使用 VBA 运行一个宏,它试图执行对 postgresql 数据库的查询。当我在 Excel 2013(版本 15.0.4649.1000 32 位)上运行该代码时,它运行良好。但是当我尝试在另一台使用 MS Office Professional Plus 2010、Excel 版本 14.0.7015.1000(32 位)的机器上运行相同的代码时,出现以下错误

我不确定导致此问题的原因以及如何解决。谁能帮忙。

提前致谢 上午

【问题讨论】:

    标签: excel vba postgresql utf-8


    【解决方案1】:

    您在 Excel 2013 中使用了 Unicode 驱动程序。在另一台出现错误的机器上,您使用了 ANSI 驱动程序。

    数据库包含 utf-8 序列0xef 0xac 0x81,即 Unicode U+0FB1,fi 连字。这在 WIN1252 (latin-1-like) 编码中不存在。

    如果您的数据库包含不限于特定 ANSI 代码页的文本,您应该始终使用 Unicode 驱动程序。除非您使用需要它的旧版应用程序,否则使用 ANSI 驱动程序通常没有用处。

    【讨论】:

    • 是否可以更改出现错误的机器的驱动程序?
    • @user2335580 好吧,当然。只需使用 Unicode 驱动程序重新创建 DSN。
    • @user2335580 嗯,原来是之前的ANSI驱动?
    • 我不确定。我已经添加了所有可能的驱动程序 PostgreSQL Unicode 、PostgreSQL Unicode x64、PostgreSQL ANSI、PostgreSQL ANSI x64 希望它与列表中的至少一个匹配。但无济于事
    • @user2335580 您必须使用正确的驱动程序创建 DSN
    猜你喜欢
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多