Python Unicode 処理と Windows コンソール
Windows コンソールで Unicode 文字列を出力しようとすると、 「charmap」コーデックが特定の文字をエンコードできない。このエラーは、Windows コンソールのすべての Unicode 文字の処理能力が限られていることが原因で発生します。
解決策:
-
Python 3.6 以降:
Python 3.6 では PEP 528 が導入され、デフォルトの Windows コンソール エンコーディングが UTF-8 に変更されます。すべての Unicode 文字をサポートします。 Unicode 文字列の印刷は問題なく機能するようになりました。
-
Win-unicode-console パッケージ:
WriteConsoleW() API を透過的に呼び出す「win-unicode-console」パッケージをインストールします。これにより、スクリプトを変更せずに Unicode 文字を印刷できます。
-
PYTHONIOENCODING 環境変数:
PYTHONIOENCODING 環境変数を ":replace" に設定すると、エンコードできない文字がプレースホルダー (例えば。、 "?").
その他の考慮事項:
-
コンソール フォント:
Windows コンソール フォントが意図した Unicode 文字をサポートしますprint.
-
Unicode API:
Win-unicode-console は、Unicode 文字を処理するために WriteConsoleW() と同じ Unicode API を内部的に利用します。
以上がPython を使用して Windows コンソールで Unicode 文字列を適切に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。