Python psycopg2 不在 utf-8 中

Python psycopg2 not in utf-8

我使用 Python 像这样连接到我的 postgresql 数据库:

conn=psycopg2.connect(database="fedour", user="fedpur", password="***", host="127.0.0.1", port="5432")

没问题。

但是当我进行查询并想打印光标时,我有这样的事情:

"Fran\xc3\xa7ois" 而不是 "François",当我想用​​它创建 XML 文档时它会导致问题。 我认为来自我的编码,但我找到了任何解决方案。我尝试编码('utf-8')但不起作用。

我也看到过类似的东西,但它只适用于mySQL

MySQLdb.connect(charset='utf8', init_command='SET NAMES UTF8')

你能帮帮我吗?谢谢

通过命令提示符执行查询时是否正确插入了值?

如果是,那么问题出在你的光标execution.Try cur.execute(u"querystring");(u表示utf编码)

如果不是,那么需要设置postgres的编码类型考虑utf-8。您可以参考 character encoding in Postgres 了解如何为数据库设置默认字符编码,以及如何从一种编码即时转换为另一种编码。

通过 运行 确保您使用正确的编码:print conn.encoding,如果需要,您可以通过 conn.set_client_encoding('UNICODE') 或 [=12= 设置正确的编码].