'ascii' codec can't encode characters in position 20-24:ordinal not in range(128)报错根本解决办法
轉載地址:https://blog.csdn.net/Mickey220521/article/details/82759930
遇到這個問題,本人解決了一下午,親測有效,可以解決根本問題。
講一下背景哈,使用python寫的一個報告系統,本地調試沒問題,生產服務在查詢條件使用中文的時候,會出現這個報錯。
1、本地python環境
2、生產python環境
上面兩個環境能明顯看出來,本地是"utf-8"支持中文,而生產是"ANSIC"不支持中文,無法print '中文'。
所以在生產使用查詢條件為中文的時候,會出現報錯。
正確方法:
? ? 1、如果你為安裝中文包需要安裝一下:
? ? ?sudo apt-get install language-pack-zh-hans
? ? 2、修改/etc/environment(在文件的末尾追加):
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"
? ? 3.修改/var/lib/locales/supported.d/local(沒有這個文件就創建,同樣在末尾追加):
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN GB2312
? ? 4.最后,執行命令:
? ?$ sudo locale-gen
? ? 即可解決'ascii' codec can't encode characters in position 20-24: ordinal not in range(128)的報錯問題
總結
以上是生活随笔為你收集整理的'ascii' codec can't encode characters in position 20-24:ordinal not in range(128)报错根本解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字符串匹配的Boyer-Moore算法
- 下一篇: Apache 2.4配置反向代理