使用flask进行web开发,网页输入中文内容,访问页面时候报错如下:
UnicodeDecodeError: 'utf8' codec can't decode byte ...
这是由于框架默认编码方式不支持中文,根据页面返回的日志信息查询
在框架目录 \Python27\Lib\site-packages\jinja2 中文件 loaders.py 有这么一行
try:
contents = f.read().decode(self.encoding)
这是读取编码方式的地方,在该文件中查找编码设置代码段
def __init__(self, searchpath, encoding='utf-8'):
if isinstance(searchpath, string_types):
searchpath = [searchpath]
self.searchpath = list(searchpath)
self.encoding = encoding
该模板默认的编码格式是utf-8,需要进行设置改为 GBK
def __init__(self, searchpath, encoding='GBK'):
if isinstance(searchpath, string_types):
searchpath = [searchpath]
self.searchpath = list(searchpath)
self.encoding = encoding
保存后,重新访问含有中文的页面,问题解决