今天在解析requests的響應內容時遇到了一個編碼問題:
UnicodeEncodeError: ‘latin-1’ codec can’t encode characters in position 0-1: ordinal not in range(256)
查了很久調用requests()時的編碼仍然沒有效果,最后發現是因為系統的語言環境不支持UTF-8,,這是我出錯時的語言環境:
$ locale
LANG=en_US
LC_CTYPE=”en_US”
LC_NUMERIC=”en_US”
LC_TIME=”en_US”
LC_COLLATE=”en_US”
LC_MONETARY=”en_US”
LC_MESSAGES=”en_US”
LC_PAPER=”en_US”
LC_NAME=”en_US”
LC_ADDRESS=”en_US”
LC_TELEPHONE=”en_US”
LC_MEASUREMENT=”en_US”
LC_IDENTIFICATION=”en_US”
LC_ALL=
執行export LANG=en_US.UTF-8改為下面這樣就正常了
$ locale
LANG=en_US.UTF-8
LC_CTYPE=”en_US.UTF-8”
LC_NUMERIC=”en_US.UTF-8”
LC_TIME=”en_US.UTF-8”
LC_COLLATE=”en_US.UTF-8”
LC_MONETARY=”en_US.UTF-8”
LC_MESSAGES=”en_US.UTF-8”
LC_PAPER=”en_US.UTF-8”
LC_NAME=”en_US.UTF-8”
LC_ADDRESS=”en_US.UTF-8”
LC_TELEPHONE=”en_US.UTF-8”
LC_MEASUREMENT=”en_US.UTF-8”
LC_IDENTIFICATION=”en_US.UTF-8”
LC_ALL=
以此記錄
---------------------
作者:wonter10
來源:CSDN
原文:https://blog.csdn.net/wonter10/article/details/77855942
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!