Python 3文字問題処理[UnicodeEncodeError:'ascii'codec can't encode characters in ordinal not in range(128)

689 ワード

(1)環境変数LANGの設定
linuxやMacに環境変数を設定のと同様に~/を編集する.bash_Profileファイル('~'は、ユーザーがログインしたデフォルトディレクトリを指します)に、行を追加します.
export LANG="en_US.UTF-8"

覚えてるsourceを追加します.bash_profileを一度有効にします. 
(2)PYTHONIOENCODINGを使用するpythonコマンドを実行する前にパラメータPYTHONIOENCODING=utf-8 python testを追加する.py
このパラメータの説明は、公式ドキュメントを表示します.https://docs.python.org/3.6/using/cmdline.html#envvar-PYTHONIOENCODING
(3)標準出力を再定義コードにsysを追加する.stdout = codecs.getwriter(「utf-8」(sys.stdout.detach())は、コードを次のように変更します.
import sys
import codecs
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
print('  ')