开发者

UnicodeEncodeError in Mako Template

I have the following files

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 (Saved in UTF-8 format)

hello world
哈罗世界
${VARIABLE}

I had refereed to the instruction from http://www.makotemplates.org/docs/unicode.html

However, I still get error

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)

Anything I had missed out?


template = Template(filename='../template/dummy.html', default_filters=['decode.utf8'], input_encoding='utf-8', output_encoding='utf-8')


Yes, because you are trying to render it to ASCII, which doesn't work. You need to say what output_encoding to use:

Template(filename='../template/dummy.html', output_encoding='utf8')

And please don't have bare excepts. Add what exceptions you expect to catch.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜