ฉันประสบปัญหาในการส่ง uri ที่มีอักขระ Unicode ไปที่ rdflib
เพื่อเพิ่มลงใน Graph()
ตัวอย่างเช่น ฉันต้องการเรียกใช้:
from rdflib import Graph
g = Graph()
uri = 'http://dbpedia.org/resource/René_Auberjonois'
g.parse(uri)
แต่ฉันได้รับข้อผิดพลาดในการเข้ารหัส ASCII Codec ซึ่งพบได้บ่อยใน Python
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 17: ordinal not in range(128)
หาก uri ถูกส่งผ่านเป็น `http://dbpedia.org/resource/Ren%C3%A9_Auberjonois' คงจะไม่เป็นไร parser ใช้งานได้หากสตริงอยู่ในรูปแบบนั้น (ขออภัย ฉันไม่รู้ว่าจะเรียกสิ่งนี้ว่าอะไร ไม่ว่าจะเป็น 'raw', 'escaped', 'unescaped' หรืออย่างอื่น) .
ฉันจะทำอะไรได้บ้างกับ uri
(มันไม่ได้ถูกตั้งค่าในลักษณะนี้ แต่ถูกตั้งค่าผ่านฟังก์ชันที่วนซ้ำรายการชื่อ) เพื่อให้ print uri
จะให้ http://dbpedia.org/resource/Ren%C3%A9_Auberjonois
พื้นหลัง: เดิมทีฉันถามคำถามนี้ แต่เพิ่ม u
ใน ด้านหน้าของสตริงไม่สามารถทำได้ด้วยวิธีการตั้งค่าสคริปต์ (ฉันไม่ได้ตั้งค่าแต่ละสตริงเช่น: s = 'René_Auberjonois'
) หรือไม่ได้ผลจริง ๆ ในตอนท้ายเมื่อฉันส่งผ่านไปยัง rdflib (เช่นยังคงได้รับข้อผิดพลาดในการเข้ารหัสเพราะมัน กำลังผ่านไป http://dbpedia.org/resource/René_Auberjonois
)
นอกจากนี้ หากมีแหล่งข้อมูลที่ดีในการทำความเข้าใจปัญหาที่ฉันมีที่นี่ ก็คงจะดี ฉันสับสนกับการเข้ารหัสอักขระในขณะนี้
unicode
- person Ignacio Vazquez-Abrams   schedule 28.04.2014