Django在Windows中因ImageField导致的ascii/utf-8编码错误
我在Windows上运行Django应用。
我发现当我在一个模型里添加了ImageField
之后,应用就停止工作了(当我把这个字段注释掉时,应用又能运行)。
我遇到了以下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb3 in position 35: ordinal not in range(128)
我尝试设置了一些本地变量:
export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'
export LC_LANG='en_US.UTF-8'
但这并没有帮助...
我还尝试在manage.py
中更改系统编码:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
但我得到了以下错误:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb3 in position 35: invalid start byte
我该如何解决这个问题呢?
2 个回答
0
我想到了一些可能的解决办法。首先,可以试着用base64来编码,而不是直接编码。你也可以尝试使用UTF-16作为编码方式,看看这样是否有帮助。
0