我正在使用jinja2进行模板化,当我有ascii名称时效果很好。但是当名称有unicode数据时,它会抛出错误。以下是我的示例代码。
#Python code
metaData = {"fname": u"Cec\xedlia Tom\xe1s","data":[{"cName":u"Cec\xedlia Tom\xe1s"},{"cName":"ASCII string"}]}
j2_env = Environment(loader=FileSystemLoader(pConfig["templatePage"]),
trim_blocks=True)
t = j2_env.get_template('Content.html')
content = t.render(**metaData)
/*jinja2 template*/
var fname = '{{fname}}';
获得
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 3: ordinal not in range(128)
我试过
metaData["fname"] = metaData["fname"].encode('utf-8') and
metaData["data"][0]["cName"] = metaData["data"][0]["cName"].encode('utf-8')
但我仍然得到同样的错误。