我正在使用web2py框架,并且只有当我尝试时才会收到错误<type 'exceptions.UnicodeEncodeError'> 'ascii' codec can't encode character u'\xc3' in position 12: ordinal not in range(128)
在web2py的INPUT html helper:INPUT(_name='NOME_SERVIDOR', _type='text', _value=self.servidor['NOME_SERVIDOR'], _readonly='true')
中使用字符串值self.servidor['NOME_SERVIDOR']
。exceptions.UnicodeEncodeError:'ascii'编解码器无法在位置12编码字符u' xc3':序号不在范围内(128)
是的,我在文件顶部使用# -*- coding: utf-8 -*-
。
# coding=utf-8
from gluon.html import *
def exampleControllerFunction():
class FormAvaliacao(object):
def __init__(self):
self.servidor = current.session.dadosServidor
self.tipo = current.session.avaliacaoTipo
@property
def exampleError(self):
return FORM(
INPUT(_name='NOME_SERVIDOR', _type='text', _value=self.servidor['NOME_SERVIDOR'], _readonly='true')
)
@property
def exampleOk(self):
return self.servidor['NOME_SERVIDOR']
form1 = FormAvaliacao().exampleError
form2 = FormAvaliacao().exampleOk
return dict(form=form1)
作为示例,上面的代码表示两种情况,其中相同的unicode字符串的行为有所不同。
ps .:我在我的代码的许多其他部分使用了相同的字符串,并且它仅在INPUT中成为问题。
您从文章中省略了两个重要元素。首先,你的帖子中没有问题。 StackOverflow是一个问答网站,但如果没有问题,很难形成有用的答案。其次,你还没有向我们展示你的代码在哪里失败。请提供尽可能短的**完整**程序来证明您的问题。 – 2014-10-28 20:11:20
“编码”注释行只影响代码中的字符串文字,它不影响字符串在程序中的处理方式。这不是某种魔力子弹。 – 2014-10-28 20:32:21
感谢您的有用评论,@Robᵩ。我编辑了我的问题。 – 2014-10-28 20:37:34