UnicodeDecodeError: Kode Visual Studio 'utf-8' menggunakan Python 3.5.2

Saya menggunakan Kode Visual Studio, Python 3.5.2, Windows 10

print("£")

menghasilkan 2 simbol yang saya tidak kenal.

input("Enter pound sign: ") -> £

menghasilkan kesalahan: UnicodeDecodeError: codec 'utf-8' tidak dapat memecahkan kode byte 0x9c di posisi 0: byte awal tidak valid

Contoh di atas berfungsi sempurna menggunakan Python IDLE. Saya sudah mencoba mengubah Pengkodean dalam Visual Studio Code tanpa hasil.

Saya telah menggunakan Python 3.5.2 untuk beberapa waktu sekarang saya tidak pernah mengalami masalah ini saat menggunakan Sublime Text 3.

Saran untuk memecahkan masalah ini akan sangat kami hargai.


person Edster    schedule 16.09.2016    source sumber


Jawaban (1)


Tampaknya ini merupakan masalah pada plugin Code Runner di VS Code . Solusinya adalah dengan menjalankan kode di terminal. Tambahkan baris berikut ke file Pengaturan Pengguna atau Ruang Kerja:

"code-runner.runInTerminal": false

Ini berfungsi di Mac, saya tidak yakin tentang Windows.

Secara umum masalahnya adalah pengkodean default yang digunakan untuk mencetak di konsol tidak mendukung UTF-8. Anda dapat memeriksa pengkodean default yang digunakan dengan menjalankan perintah berikut:

import sys
print(sys.stdout.encoding)

Saat saya menggunakan plugin Code Runner dengan pengaturan konfigurasi default nilainya adalah US-ASCII, tetapi ketika dijalankan menggunakan terminal adalah UTF-8.

Sayangnya saya tidak tahu cara mengubah pengkodean default untuk plugin Code Runner.

person csiknor    schedule 07.01.2017