Python Flask.txt文件编码
我正在使用带烧瓶应用程序的Jinja2模板。 当从上传的.txt文件中读取内容时,我得到的结果如下Python Flask.txt文件编码,python,encoding,flask,Python,Encoding,Flask,我正在使用带烧瓶应用程序的Jinja2模板。 当从上传的.txt文件中读取内容时,我得到的结果如下 '\xff\xfeA\x00e\x00r\x00 \x00L\x00i\x00n\x00g\x00u\x00s\x00 \x00h\x00a ...' 尽管我可以在调试控制台中看到正确的文件内容 我的代码是 @main_app.route('/upload', methods=['POST']) def upload(): file = request.files['file']
'\xff\xfeA\x00e\x00r\x00 \x00L\x00i\x00n\x00g\x00u\x00s\x00 \x00h\x00a ...'
尽管我可以在调试控制台中看到正确的文件内容
我的代码是
@main_app.route('/upload', methods=['POST'])
def upload():
file = request.files['file']
if file:
filedata = file.read()
return render_template('page.html',
components = [{'filecontents': filedata}]
)
我尝试了其他问题的解决方案,比如建议使用.encode和.decode,但都不起作用
有什么问题吗?试着把
import sys
reload(sys).setdefaultencoding("utf-8")
在代码的开头。复制自:
将文件编码用作字符集,例如:
我只是猜测您的文件是拉丁文编码的。不要摆弄setdefaultencoding
def read_file(filename, charset='utf-8'):
with open(filename, 'r') as f:
return f.read().decode(charset)
test_string = '\xff\xfeA\x00e\x00r\x00\x00L\x00i\x00n\x00g\x00u\x00s\x00 \x00h\x00a ...'
print test_string.decode('latin')
>>> ÿþA