Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Memaparkan Aksara Unikod dengan Betul dalam Konsol Windows?

Bagaimanakah Saya Boleh Memaparkan Aksara Unikod dengan Betul dalam Konsol Windows?

Mary-Kate Olsen
Lepaskan: 2024-12-19 18:25:14
asal
660 orang telah melayarinya

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

Perwakilan Unikod dalam Konsol Windows

Apabila cuba mencetak rentetan dalam konsol Windows, pembangun mungkin menghadapi ralat "UnicodeEncodeError: 'charmap ' codec tidak boleh mengekod aksara." Isu ini timbul daripada ketidakupayaan konsol untuk mengendalikan aksara Unicode tertentu.

Penyelesaian:

Python 3.6 dan Kemudian:

  • Python 3.6 melaksanakan PEP 528, menukar konsol lalai pengekodan kepada UTF-8. Ini membolehkan aksara Unicode dipaparkan terus tanpa memerlukan penyelesaian.

Python 3.5 dan Terdahulu:

  • Win-Unicode- Konsol: Pasang pakej win-unicode-console, yang membolehkan sokongan Unicode dalam konsol.
  • WriteConsoleW() API: Gunakan API WriteConsoleW() untuk mencetak rentetan Unikod terus ke konsol.
  • PYTHONIOENCODING: Tetapkan PYTHONIOENCODING pembolehubah persekitaran kepada ":replace" untuk menggantikan aksara yang tidak boleh dikodkan dengan "?" watak.

Menetapkan PYTHONIOENCODING:

set PYTHONIOENCODING=:replace
Salin selepas log masuk

Menggantikan Aksara:

Jika menggantikan aksara yang tidak boleh dikodkan dengan " ?" adalah mencukupi, anda boleh menggunakan yang berikut:

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

Nota:

Dalam Python 3.6 , PYTHONIOENCODING diabaikan untuk penimbal konsol interaktif melainkan PYTHONLEGACYWINDOWSIOENCODING ditetapkan kepada bukan -rentetan kosong.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memaparkan Aksara Unikod dengan Betul dalam Konsol Windows?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan