![](/img/trans.png)
[英]Problem with encoding running Python file on flask in Apache
[英]Python Flask .txt file 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']
if file:
filedata = file.read()
return render_template('page.html',
components = [{'filecontents': filedata}]
)
我嘗試了其他問題的解決方案,例如建議使用.encode()和.decode(),但它們不起作用。
可能是什么問題呢?
從文檔中復制:
def read_file(filename, charset='utf-8'):
with open(filename, 'r') as f:
return f.read().decode(charset)
使用文件編碼作為charset
,例如:
test_string = '\xff\xfeA\x00e\x00r\x00\x00L\x00i\x00n\x00g\x00u\x00s\x00 \x00h\x00a ...'
print test_string.decode('latin')
>>> ÿþA
我只是在猜測您的文件是latin
編碼。
試穿
import sys
reload(sys).setdefaultencoding("utf-8")
在代碼的開頭。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.