解决Streamlit 网页输出中文乱码

在使用Streamlit制作一个NLP模型(自然语言处理模型)应用的时候,发现输出的中文是乱码,用百度和bing搜索,都没有在第一页找到答案。问ChatGPT,它提示用io库的ByteIO处理一下。问百度文心一言,它说检查文件编码格式。好吧,都不太准确。

自己去看源代码,发现输出的str字符串有这样一句处理:

if st.button('🧠 Think'):answer = get_answer(question_text_area)escaped = answer.encode('utf-8').decode('unicode-escape')# Display answerst.caption("Answer :")st.markdown(escaped)

感觉先encode再decode在python3下根本没有必要啊!将这句注释掉,改成:

if st.button('🧠 Think'):answer = get_answer(question_text_area)# escaped = answer.encode('utf-8').decode('unicode-escape')escaped = answer# Display answerst.caption("Answer :")st.markdown(escaped)

也就是去掉了编码和解码,重新执行:

treamlit run app_streamlit.py

哇,终于解决了streamlit下的中文乱码问题了。

本文链接:https://my.lmcjl.com/post/7092.html

展开阅读全文

4 评论

留下您的评论.