gpt4 book ai didi

postgresql - 编码 "UTF8"的字符 0xe28093 在 "LATIN1"中没有等效项

转载 作者:行者123 更新时间:2023-11-29 12:30:16 25 4
gpt4 key购买 nike

在 Latin1 Postgres 9.1.3 中插入​​一些数据时出现错误:

编码“UTF8”的字符 0xe28093 在“LATIN1”中没有对应值

Grails 应用程序正在插入数据。我尝试了以下但没有成功:

  • 休眠 { connection.characterEncoding='utf8'}
  • ?charSet=LATIN1 在 jdbc conn 字符串中
  • 休眠 { connection.charSet='LATIN1'}

数据库创建于:

CREATE DATABASE mydb
WITH OWNER = postgres
ENCODING = 'LATIN1'
TABLESPACE = pg_default
LC_COLLATE = 'C'
LC_CTYPE = 'C'
CONNECTION LIMIT = -1;

有什么想法吗?提前谢谢你。

最佳答案

如果我没理解错的话,你的数据库是用编码“LATIN1”创建的。创建数据库后无法更改此编码。您唯一可以更改的 - 正如您的要点所示 - 是您的客户端和 PostgreSQL 服务器 之间的编码。然后 PostgreSQL 服务器尝试在客户端编码和数据库编码之间进行转换。

如果客户端传输无法转换为 DB 编码的数据,此过程当然会失败。在您的情况下,Unicode 代码点 2013 无法翻译成 LATIN1。

这意味着您必须清理进入数据库的所有数据。摆弄客户端编码无济于事。

关于postgresql - 编码 "UTF8"的字符 0xe28093 在 "LATIN1"中没有等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10079996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com