使用sqlAlchemy将unicode插入字符串

2024-09-27 00:13:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用sqlAlchemy与postgres数据库交互。所有这些都设置为插入字符串数据。我收到的数据通常是utf-8,而且设置工作得很好。最近,作为边缘情况,数据以somedata\xtrailingdata的格式出现。在

SQLAlchemy正试图用somedata创建这个条目,完全去掉\x之后的所有内容。在

你能告诉我是否有一种方法可以指导SQLAlchemy只尝试插入全部内容而不是删除unicode部分。在

我试过了 create_engine(dbUri, convert_unicode=True, client_encoding='utf8')

create_engine(dbUri, convert_unicode=False, client_encoding='utf8')

create_engine(dbUri, convert_unicode=False)

到目前为止还没有成功。我真的很感谢您在将这些数据插入到字符串列中的输入。在

PS:无法修改DB的列类型。这是一个非常边缘化的案例,不是一般情况。在


Tags: 数据字符串clientfalseconvertsqlalchemycreateunicode
2条回答

它没有Unicode。\x是字节文字前缀,后面需要一个十六进制值。PostgreSQL还支持\x语法,因此可能是PostgreSQL放弃了它。在

考虑转义所有斜杠或在\x上找到replace,然后再交给SQLAlchemy

问题是\x00。当传递给SQLAlchemy一个带有\x00的a值时,它将其截断为\x00前面的数据。我们将问题追溯到SQLAlchemy下的C库。在

相关问题 更多 >

    热门问题