在 FreeTDS 中使用 flask 和 mssql guid 的 Unicode 问题

Unicode issue using flask and mssql guids with FreeTDS

我有一个烧瓶应用程序,最近不得不开始使用 mssql 生成的 guid 作为主键(以前它只是整数)。 guid 是 latin-1 编码。另外,我没有使用 sqlalchemy。现在,当我尝试在 flask jinja2 模板中显示查询的 mssql guid 时,出现以下错误:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc1 in position 0: ordinal not in range(128).

我试过:

似乎没有任何效果。如果我导入 sys 并将解码设置为 utf-8,则错误将 ascii 替换为 utf-8,但 jinja 模板不会呈现 guid。

有什么想法吗?谢谢阅读。还要注意,我的开发环境在 windows 7 上,这个问题不会出现在那里。它仅在 linux 服务器上。

好吧,这感觉像是一个 hack,但由于我唯一一次使用这些 guid 是在我从数据库中读取它们时,我只是这样做了:

CAST(REC_GUID_ID as VARCHAR(36)) as REC_GUID_ID

现在它们的格式似乎一切都很好。