Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Kod Python Saya Membuang UnicodeEncodeError Apabila Mengekod Teks Halaman Web?
UnicodeEncodeError: 'ascii' Perjuangan Codec dengan Aksara Bukan ASCII
Apabila mengambil teks daripada pelbagai halaman web, anda mungkin menghadapi " UnicodeEncodeError" yang menunjukkan bahawa codec 'ascii' tidak boleh mengekod aksara tertentu. Ketidakkonsistenan ini, apabila kod berfungsi tanpa isu untuk sesetengah halaman tetapi gagal dengan halaman lain, selalunya berpunca daripada kehadiran aksara bukan ASCII.
Dalam coretan kod yang disediakan, isu timbul apabila cuba menukar rentetan Unicode (kemungkinan mengandungi aksara ' ') kepada rentetan bait yang dikodkan 'ascii'. Walau bagaimanapun, 'ascii' tidak boleh mewakili aksara ini, membawa kepada ralat "ordinal not in range(128)".
Menghapuskan Keanehan Pengekodan
Untuk menyelesaikan kekusutan ini , tinggalkan amalan menggunakan str() untuk menukar rentetan Unicode kepada teks yang dikodkan. Sebaliknya, terima kuasa .encode() yang secara eksplisit mengekod rentetan menggunakan pengekodan yang diingini, seperti UTF-8.
Contoh Penyelesaian Pengekodan:
p.agent_info = u' '.join((agent_contact, agent_telno)).encode('utf-8').strip()
Sebagai alternatif, anda boleh menerima dunia Unicode sepenuhnya, bekerja secara eksklusif dengan rentetan Unicode dan mengelakkan keperluan untuk operasi pengekodan dan penyahkodan.
Atas ialah kandungan terperinci Mengapa Kod Python Saya Membuang UnicodeEncodeError Apabila Mengekod Teks Halaman Web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!