[英]python .format() can't interpolate accented letters - Python 2.7
我正在尝试使用数据库中的重音字母插入正确保存的字符串。 当我恢复它们时,我有一个错误:
'<html><div>{ragioneSociale}{iva}{sdi}{cuu}{indirizzo}{metodoDiPagamento}{iban_bic}</div></html>'.format(
ragioneSociale=generaleViewRes.getString('ragioneSociale'),
iva=generaleViewRes.getString('iva'),
sdi=generaleViewRes.getString('sdi'),
cuu=generaleViewRes.getString('cuu'),
indirizzo=generaleViewRes.getString('indirizzo'),
metodoDiPagamento=generaleViewRes.getString('metodoDiPagamento'),
iban_bic=generaleViewRes.getString('iban_bic')
)
然后我尝试分别在每个元素上使用encode('utf-8')
,然后encode('utf-8').decode('utf-8')
,最后.decode('utf-8')
。 错误是:
UnicodeEncodeError:'ascii' 编解码器无法编码 position 中的字符 u'\xd2' 57:序数不在范围内(128)范围(128)UnicodeDecodeError:“utf-8”编解码器无法解码 position 57-58 中的字节:无效数据
不幸的是,这是我在.format
方法中经常发现的一个错误,我在较小的上下文中使用+
运算符解决了这个错误。 事实是,为了可读性和.format
提供的其他问题,使用+
运算符无法解决大插值。
我想知道,这个问题有可能从未解决吗?
提前致谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.