flask UnicodeEncodeError: 'ascii' codec can't encode characters in position 86-89: ordinal not in range(128)
时间: 2023-07-02 18:13:12 浏览: 218
user-comment-moderation-in-flask:如何审核博客从随机用户那里收到的评论
这个错误是由于 Flask 默认使用的编码是 ASCII,而你的应用程序中包含非 ASCII 字符(如中文、日文等)导致的。解决这个问题有两种方法:
1. 在 Flask 应用程序中添加以下代码,将编码设置为 UTF-8:
```
import sys
reload(sys)
sys.setdefaultencoding('utf8')
```
2. 在应用程序中的每个字符串前添加一个 "u",表示该字符串为 Unicode 编码。例如:
```
return u'你好世界'
```
建议使用第二种方法,因为在 Python 2.x 版本中,使用 "u" 前缀表示 Unicode 编码,更符合 Python 的规范。
阅读全文