ホームページ >バックエンド開発 >Python チュートリアル >Windows コンソールで Unicode 文字を正しく表示するにはどうすればよいですか?

Windows コンソールで Unicode 文字を正しく表示するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-19 18:25:14700ブラウズ

How Can I Properly Display Unicode Characters in the Windows Console?

Windows コンソールでの Unicode 表現

Windows コンソールで文字列を出力しようとすると、開発者はエラー「UnicodeEncodeError: 'charmap」が発生する場合があります。 ' コーデックは文字をエンコードできません。」この問題は、コンソールが特定の Unicode 文字を処理できないために発生します。

回避策:

Python 3.6 以降:

  • Python 3.6 は PEP 528 を実装し、デフォルトのコンソールエンコーディングを次のように切り替えました。 UTF-8。これにより、回避策を必要とせずに Unicode 文字を直接表示できるようになります。

Python 3.5 以前:

  • Win-Unicode-コンソール: win-unicode-console パッケージをインストールします。これにより、 console.
  • WriteConsoleW() API: Unicode 文字列をコンソールに直接出力するには、WriteConsoleW() API を使用します。
  • PYTHONIOENCODING: PYTHONIOENCODING 環境変数を「:replace」に設定して、エンコードできない文字を「?」文字。

PYTHONIOENCODING の設定:

set PYTHONIOENCODING=:replace

文字の置換:

エンコードできない文字を " に置き換える場合?」で十分な場合は、以下を使用できます:

print(u'[\N{EURO SIGN}]')  # Replaces the Euro sign with "?"

注:

Python 3.6 では、 PYTHONLEGACYWINDOWSIOENCODING が非に設定されていない限り、対話型コンソール バッファーでは PYTHONIOENCODING は無視されます。 -空の文字列。

以上がWindows コンソールで Unicode 文字を正しく表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。