rainman Asked: 2022-05-12 19:10:56 +0800 CST2022-05-12 19:10:56 +0800 CST 2022-05-12 19:10:56 +0800 CST 如何在 postgres 数据库中修复 unicode REPLACEMENT CHARACTER � 772 有没有办法解决 postgres 数据库中的问题: 如您所见,有些名称带有重音符号,并且未在数据库中正确显示。我想知道是否有办法在不删除数据库并恢复它的情况下解决这个问题......? 当我执行 SELECT CAST (userfirstname AS bytea) FROM tab WHERE id = 42;` 这是我得到的结果: bytea -------------------------------------- \x5374efbfbd7068616e696520284d6d6529 (1 ligne) postgresql character-set 1 个回答 Voted Best Answer Laurenz Albe 2022-05-13T11:07:39+08:002022-05-13T11:07:39+08:00 该字符(UTF-8 中的 0xEFBFBD)实际上是 Unicode 0xFFFD,即“替换字符”。 因此,如果这不是您想要的,那么问题一定是在您将数据插入数据库时发生的。PostgreSQL 不会偷偷地修改字符串,所以一些软件在数据被放入数据库之前就已经这样做了。 由于您希望看到的字符并不完全相同(例如,我发现了 é 和 ç),因此没有自动修复损坏的方法。
该字符(UTF-8 中的 0xEFBFBD)实际上是 Unicode 0xFFFD,即“替换字符”。
因此,如果这不是您想要的,那么问题一定是在您将数据插入数据库时发生的。PostgreSQL 不会偷偷地修改字符串,所以一些软件在数据被放入数据库之前就已经这样做了。
由于您希望看到的字符并不完全相同(例如,我发现了 é 和 ç),因此没有自动修复损坏的方法。