繁体   English   中英

使用mako模板渲染html页面时,如果有utf-8字符,则会告诉我错误

[英]When using mako template rendering html page, if there is utf-8 character,it's will tell me error

错误:

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

编码:

lookup = mako.lookup.TemplateLookup(directories=[template_path] , input_encoding="utf-8", output_encoding="utf-8", encoding_errors="replace" ) 
template = lookup.get_template(filename) 
template.render(**kwargs)

必须手动将字符转换为utf-8字符,这是mako天生缺陷吗?

当我将翻译功能与i18n一起使用时,我遇到了类似的问题,并且我在模板文件字符串中使用国家字符进行翻译,但是没有u符号,例如:

${'polish word with national character: mózg'}

它引发了类似的异常,您应该使用'u'字符转义字符串:

${u'polish word with national character: mózg'}

您也可以尝试在模板文件的顶部添加编码标头:

## -*- coding: utf-8 -*-

希望它能解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM