我有以下文件
dummy.py
#!c:/Python27/python.exe -u
from mako import exceptions
from mako.template import Template
print "Content-type: text/html"
print
#VARIABLE = "WE"
VARIABLE = "我们"
template = Template(filename='../template/dummy.html', output_encoding='utf8')
try:
print template.render(VARIABLE=VARIABLE)
except:
print exceptions.html_error_template().render()
dummy.html (以UTF-8格式保存)
hello world
哈罗世界
${VARIABLE}
我已经审阅了http://www.makotemplates.org/docs/unicode.html
的指示但是,我仍然会收到错误
UnicodeDecodeError:'ascii'编解码器 无法解码位置0中的字节0xe6: 序数不在范围内(128)
我错过了什么?
答案 0 :(得分:5)
template = Template(filename='../template/dummy.html', default_filters=['decode.utf8'], input_encoding='utf-8', output_encoding='utf-8')
答案 1 :(得分:2)
是的,因为您尝试将其呈现为ASCII,这不起作用。您需要说出要使用的output_encoding:
Template(filename='../template/dummy.html', output_encoding='utf8')
请不要光顾。添加您希望捕获的异常。