我正在阅读从Postgres 13数据库中包含表情符号的文本。事实证明,我的Python/psycopg查询并不像我所期望的那样解码/返回文本。
通过Postgres psql客户端
postgres:13容器内
从配置文件中选择描述,其中id = 123结果如预期的那样!
️ and ⚕️通过Python3.9和psycopg3适配器
python:3.9容器中结果不能正确地重新组合--无法组合。
>>> cur = conn.cursor()
>>> profiles = cur.fetchone()
>>> profiles[0]
️\u200d and \u200d\u200d⚕️Connection对象表示它正在使用utf-8。
>>> conn.info.encoding
'utf-8'我在这里错过了什么?
知道我该找什么吗?
非常感谢您的提前思考,非常感谢!欧盟
发布于 2022-01-12 15:49:07
表情符号由几个字符组成,您正在使用的shell不知道如何以您想要的方式显示它们。
JosefZ发布了关于更多细节的链接:https://emojipedia.org/emoji-sequence/
发布于 2022-01-12 16:16:37
我分析了字符串的原始字节(在注释中提供)。profiles[0]变量保存有效字符串。问题只在于字符串的显示方式,不支持更高级的表情符号(使用ZWJ \u200d)。
要获得预览,可以将内容转储到文本文件并在web浏览器中打开。
https://stackoverflow.com/questions/70682868
复制相似问题