【发布时间】:2016-09-04 17:57:53
【问题描述】:
我有完整的 utf8 源代码(在第二行使用“# -- coding: utf-8 --”)
在代码中,我使用 sqlalchemy 从 sqlite 数据库字符串值中进行选择
sel = u'SELECT name FROM station WHERE id == ...'
value = getattr(engine.execute(sel).fetchone(), u'name')
在数据库中是这样创建的列name
Column(u'name', String(length=32, convert_unicode=True)
select 之后,我需要将 value 转换为 utf16(由于 SciPy 发送到 Octave)
我该怎么做?
我试试
value = value.encode(u'utf-8').decode(u'utf-16')
但 Octave 仍然不接受一些特殊字符(例如 ě,š,č,ř,...)
PS.:我在函数中这样做。我将value 添加到字典中
updated_dict[u'name'] = value
然后将updated_dict返回给调用函数并导出到.mat文件
scipy.io.savemat(filename,{u'save_struct':updated_dict})
【问题讨论】:
-
你认为为什么需要设置
convert_unicode? -
我也尝试不使用此参数(在遇到此问题之前)。所以我尝试修复它,现在我把它留在代码中。在我的情况下似乎不需要它......
标签: python sqlite utf-8 octave utf-16