1

我使用失败的复制命令将大约 75k 记录加载到 Postgres 表中。我得到一个例外

错误:编码“UTF8”的字节序列无效:0xbd

现在我需要找到哪一行有这个条目。有没有办法做到这一点?我正在考虑启用一些可能有帮助的 postgres 日志记录或任​​何其他解决方案注意:我只遇到一个特定文件的问题。其他文件正在加载而没有问题

4

1 回答 1

1

我似乎总是在我的错误中得到一个行号,无论我是否使用COPY\copy通过重定向或-f.

ERROR:  invalid byte sequence for encoding "UTF8": 0xa3
CONTEXT:  COPY z, line 3

如果只有几个坏字符并且您只想剥离它们,则可以使用 iconv (假设您使用的是类 unix 系统)。

iconv -c --from=utf8 --to=utf8 /tmp/badchars.txt > /tmp/stripped.txt

如果您想查看删除的内容,您始终可以针对 before + after 版本运行 diff。

于 2012-08-28T08:34:02.050 回答