我正在使用 Apache2 和 mod_wsgi 来部署 Flask 应用程序。
当使用 pydev 从 Eclipse 运行时(即使用 Eclipse 中的“运行”菜单图标),该应用程序运行良好。
但是,当从 Eclipse 外部运行完全相同的代码时(通过从命令行调用脚本或通过 mod_wsgi)UnicodeDecodeError
会引发 a 并且无法显示页面。
这是(缩短的)有问题的代码:
label = 'créer'
row = '<tr><td>{cell_label}</td></tr>'.format(cell_label = label)
render_template('template.html', row = row)
template.html 包含:
<table>
{{ row | safe }}
</table>
并且引发的错误是:
'<tr><td>{cell_label}</td></tr>'.format(cell_label = label)
UnicodeEncodeError: 'ascii' codec can't encode character u'\\xe9' in position 7: ordinal not in range(128)
其他信息
echo $LANG
返回:en_US.UTF-8
file flask_app.py returns
Python 脚本,UTF-8 Unicode 文本可执行文件
当我从 Ecpise 运行代码和进行测试时,我使用相同的解释器(virtualenv 中的 python 2.7.3)。
编辑
更改的问题标题和描述反映了代码只能通过 Eclipse 运行的事实。