【发布时间】:2011-06-29 23:06:07
【问题描述】:
Postgres JDBC 驱动程序似乎无法正确处理 UTF-8 clob。当您检索 clob 时,字符不正确(您得到 ? 非 ascii 字符的标记)。
据说这是一个已知问题:
- http://archives.postgresql.org/pgsql-bugs/2010-09/msg00034.php
- https://jira.springsource.org/browse/SPR-7520
- http://archives.postgresql.org/pgsql-jdbc/2011-02/msg00032.php
幸运的是,对于我的应用程序,我通常会避免使用 clob,所以我刚刚制作的 clob 字段变成了非常大的 varchars。
其他人如何处理这个限制?
【问题讨论】:
-
我敢打赌,这些字符一开始就没有正确进入数据库。我对 UTF-8 字符和 JDBC 驱动程序没有任何问题。但是你认为 Postgres 中的“CLOB”是什么肯定会很有趣。尤其是当您将其转换为 varchar
-
@a_horse_with_no_name 它不是我认为 postgres 中的 clob 它是 hibernate 认为它应该是的 :)
-
啊,又是可怕的 Hibernate 东西。
-
这些字段在进入数据库之前在调试器中看起来很好,然后当它们回来时 nbsp (U+00A0) 变成 >。
-
根本原因是 [lob 对象似乎使用 jdbc 驱动程序存储在 ascii 中]。 [lob 对象似乎使用 jdbc 驱动程序存储在 ascii 中]:stackoverflow.com/questions/9993701
标签: java postgresql jdbc utf-8 clob