gpt4 book ai didi

Django Heroku Postgresql 错误 : invalid byte sequence for encoding "UTF8"

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

我将 Django 与 Heroku Postgreql 结合使用。我在默认数据库设置中同时使用英语和土耳其语。我的数据库在本地和 Heroku 上都没有问题。但是,当我尝试将数据库从本地转储并恢复到生产环境时出现错误。

psql -U user -d db_name -f "b003.dump"

psql:b003.dump:270: ERROR: invalid byte sequence for encoding "UTF8": 0xa3

最佳答案

第一个猜测:编码不匹配

您的文件 b003.dump 不是 UTF-8 编码。

您需要覆盖编码设置,为文件指定正确的文本编码。

如果它有土耳其文本,它可能是 iso-8859-9,尽管 0xa3 在许多 ISO-8859 编码中是英镑符号 (£)。

尝试:

PGCLIENTENCODING="iso-8859-9" psql ....

我还建议检查 locale 命令的输出以查看您的系统默认编码是什么,以及 file -bi b003.dump 的输出以尝试猜测编码.

第二次猜测,在注释显示文件输出后

您的文件不是 SQL 脚本样式的转储。它是一个 PostgreSQL 自定义数据库转储。这就是为什么 file 说:

b003.dump: PostgreSQL custom database dump - v1.12-0 

使用 pg_restore 命令恢复它。

pg_restore -f b003.dump -d db_name -U user

在某些时候我想增强 psql 以便它告诉您这一点,而不是因错误而失败。

这里的奇怪之处在于,如果是自定义转储,那么在此处显示的错误之前,您一定有过很多的错误。

关于Django Heroku Postgresql 错误 : invalid byte sequence for encoding "UTF8",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22762951/

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