使用Python 2.7的UnicodeDecodeError和使用德语的suds 4.0

时间:2016-06-02 12:52:06

标签: python-2.7 unicode utf-8 ascii suds

我有一个python-django项目,我正在尝试在我的Postgresql数据库中保存德语和意大利语,该数据库仅供此项目使用。我试图通过我添加的Html表单发送我想要保存在数据库中的结果:

return $this->db->select('*')
                ->from('tourist T')
                ->where('T.year >=', $where['s_year'])
                ->where('T.month >=', $where['s_month'])
                ->where('T.year <=', $where['e_year'])                            
                ->where('T.month <=', $where['e_month'])
                ->get()->result();

结果会发送到我已添加到顶部的views.py

accept-charset="UTF-8" 

我也尝试过编码,在views.py中解码为utf-8,ISO-5589-1,latin-1,但它无效。我认为这个错误与这篇文章有关,但是我不理解他们说这个错误已修复但仍然不适合我的解决方案。

https://fedorahosted.org/suds/ticket/361

这是我的追溯:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

1 个答案:

答案 0 :(得分:0)

可能'str'返回utf-8中编码的'unicode'字符串。在使用之前,您应该将此字符串转换为django.utils.encoding.smart_unicode类型。

尝试从suds收到字符串后立即在其上调用{{1}}。