Python を使用してプログラミングする場合、コーディングの問題は常に頭の痛い問題です。プログラムで次のエラー メッセージがよく発生します:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
これは、Python がインストールされているためです。インストール中、デフォルトのエンコーディングは ascii です。非 ASCII エンコーディングがプログラムに出現すると、Python 処理で上記のエラーが報告されることがよくあります。
上記の問題には、一般に 2 つの対処方法があります。
方法 1:
先頭に次のコード ブロックを追加します。 Python コードの:
import sys reload(sys) sys.setdefaultencoding('utf8')
このメソッドは一時的なもので、プログラムの実行時にのみ有効になります。システムのデフォルトのエンコーディングは変更されていません。
方法 2
Python がインストールされているときのデフォルトのエンコーディングは ascii であり、sys.getdefaultencoding() を通じてデフォルトのエンコーディングを表示できます。この問題を完全に解決するには、Python のデフォルトのエンコーディングを変更します。具体的な操作は次のとおりです。
最初のステップ:
Python インストール ディレクトリの Lib\site-packages フォルダーに新しい sitecustomize.py ファイルを作成します。
2 番目のステップ:
sitecustomize.py
# encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8')
に次のコードを入力しますステップ 3: Python を再起動し、sys.getdefaultencoding() を通じてデフォルトのエンコーディングを確認します。結果は 'utf8'
以上がPython utf-8エンコーディングを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。