Python3错误的字符串编码

2024-05-16 19:25:23 发布

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

我有一个可以通过SAML2登录的应用程序。我正在使用apache mellon模块并获取数据:

name = request.environ['MELLON_name']
email = request.environ['MELLON_mail']

根据这些数据,我使用flask_jwt_simpe库创建JWT。然后我想调用get_jwt_identity(),但是响应中的名称编码错误,它看起来是JiÅí Manes,而不是{}(捷克语)。我怎样才能解决这个问题?在

编辑1locale命令输出

^{pr2}$

编辑2:通过以下python代码在我的VPS上解决了这个问题:

name = bytearray(request.environ['MELLON_name'], 'iso-8859-1').decode('utf-8')

但我想有另一个通用的解决方案:-/


Tags: 模块数据name应用程序编辑flaskemailrequest
1条回答
网友
1楼 · 发布于 2024-05-16 19:25:23

您已命中WSGI encoding dance。不幸的是,没有比你已经找到的更好的解决方案了。在

如您所见,您已经在使用same作为werkzeug(这是Flask使用的WSGI包)来解决这个问题。在

如果您愿意,您可以使用该包中的兼容性函数,但是您可能会发现它们在没有通知的情况下发生了更改,因此您最好还是坚持使用自己的等效代码。在

相关问题 更多 >