python - web框架 - flask 问题处理

来源:互联网 发布:游戏编程常用算法 编辑:程序博客网 时间:2024/05/22 13:04

使用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

保存后,重新访问含有中文的页面,问题解决

0 0
原创粉丝点击