คำถามติดแท็ก python-unicode

28
UnicodeEncodeError: ตัวแปลงสัญญาณ 'ascii' ไม่สามารถเข้ารหัสอักขระ u '\ xa0' ในตำแหน่ง 20: ลำดับไม่อยู่ในช่วง (128)
ฉันมีปัญหาในการจัดการกับอักขระ Unicode จากข้อความที่ดึงมาจากหน้าเว็บต่างๆ (ในเว็บไซต์ต่าง ๆ ) ฉันใช้ BeautifulSoup ปัญหาคือข้อผิดพลาดนั้นไม่สามารถทำซ้ำได้เสมอไป บางครั้งมันก็ทำงานร่วมกับบางหน้าและบางครั้งก็ barfs UnicodeEncodeErrorโดยขว้างปา ฉันลองทุกอย่างที่ฉันสามารถคิดได้ แต่ถึงกระนั้นฉันก็ไม่พบสิ่งใดที่ทำงานได้อย่างต่อเนื่องโดยไม่ละทิ้งข้อผิดพลาดที่เกี่ยวข้องกับ Unicode ส่วนหนึ่งของรหัสที่ทำให้เกิดปัญหาแสดงอยู่ด้านล่าง: agent_telno = agent.find('div', 'agent_contact_number') agent_telno = '' if agent_telno is None else agent_telno.contents[0] p.agent_info = str(agent_contact + ' ' + agent_telno).strip() นี่คือการติดตามสแต็กที่สร้างบนสตริง SOME เมื่อรันโค้ดย่อยด้านบน: Traceback (most recent call last): File "foobar.py", line 792, in …

9
UnicodeDecodeError: ตัวแปลงสัญญาณ 'utf8' ไม่สามารถถอดรหัสไบต์ 0x9c
ฉันมีซ็อกเก็ตเซิร์ฟเวอร์ที่ควรจะได้รับอักขระที่ถูกต้อง UTF-8 จากลูกค้า ปัญหาคือลูกค้าบางราย (ส่วนใหญ่แฮกเกอร์) กำลังส่งข้อมูลผิดประเภททั้งหมด ฉันสามารถแยกความแตกต่างไคลเอนต์ของแท้ได้อย่างง่ายดาย แต่ฉันเข้าสู่ไฟล์ข้อมูลทั้งหมดที่ส่งเพื่อให้ฉันสามารถวิเคราะห์ได้ในภายหลัง บางครั้งฉันได้รับตัวละครเช่นนี้œทำให้เกิดUnicodeDecodeErrorข้อผิดพลาด ฉันต้องสามารถสร้างสตริง UTF-8 โดยมีหรือไม่มีอักขระเหล่านั้น ปรับปรุง: สำหรับกรณีของฉันบริการซ็อกเก็ตเป็น MTA และฉันคาดหวังว่าจะได้รับคำสั่ง ASCII เช่น: EHLO example.com MAIL FROM: <john.doe@example.com> ... ฉันบันทึกทั้งหมดนี้ใน JSON จากนั้นบางคนก็ออกไปที่นั่นโดยไม่มีเจตนาดีตัดสินใจขายขยะทุกชนิด นั่นเป็นเหตุผลสำหรับกรณีเฉพาะของฉันมันเป็นเรื่องที่ดีที่จะตัดอักขระที่ไม่ใช่ ASCII ออก

6
SyntaxError: อักขระที่ไม่ใช่ ASCII '\ xa3' ในไฟล์เมื่อฟังก์ชันส่งคืน '£'
พูดว่าฉันมีฟังก์ชั่น: def NewFunction(): return '£' ฉันต้องการพิมพ์สิ่งที่มีเครื่องหมายปอนด์อยู่ข้างหน้าและพิมพ์ข้อผิดพลาดเมื่อฉันพยายามเรียกใช้โปรแกรมนี้ข้อความแสดงข้อผิดพลาดนี้จะปรากฏขึ้น: SyntaxError: Non-ASCII character '\xa3' in file 'blah' but no encoding declared; see http://www.python.org/peps/pep-0263.html for details ใครสามารถบอกฉันว่าฉันสามารถรวมเครื่องหมายปอนด์ในฟังก์ชั่นการส่งคืน โดยทั่วไปฉันใช้มันในชั้นเรียนและอยู่ใน'__str__'ส่วนที่มีเครื่องหมายปอนด์รวมอยู่ด้วย

7
Python - ตัวแปลงสัญญาณ 'ascii' ไม่สามารถถอดรหัสไบต์ได้
ฉันสับสนจริงๆ ผมพยายามที่จะเข้ารหัส can't decode...แต่ข้อผิดพลาดดังกล่าว >>> "你好".encode("utf8") Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128) ฉันรู้วิธีหลีกเลี่ยงข้อผิดพลาดที่มีคำนำหน้า "u" ในสตริง ฉันแค่สงสัยว่าทำไมจึงเกิดข้อผิดพลาด "ไม่สามารถถอดรหัส" เมื่อมีการเรียกการเข้ารหัส Python กำลังทำอะไรอยู่ภายใต้ประทุน?

9
จะพิมพ์อักขระ Unicode ใน Python ได้อย่างไร?
ฉันต้องการทำพจนานุกรมที่คำภาษาอังกฤษชี้ไปที่คำแปลภาษารัสเซียและภาษาฝรั่งเศส ฉันจะพิมพ์อักขระ Unicode ใน Python ได้อย่างไร นอกจากนี้คุณเก็บอักขระ Unicode ไว้ในตัวแปรได้อย่างไร?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.