अजगर 2.5.2 और लिनक्स डेबियन का उपयोग कर मैं एक स्पेनिश यूआरएल है कि एक स्पेनिश चार ('मैं') शामिल हैं से सामग्री प्राप्त करने के लिए कोशिश कर रहा हूँ:कर सकते हैं के साथ यूनिकोड URL को नहीं खोल अजगर
import urllib url = u'http://mydomain.es/índice.html' content = urllib.urlopen(url).read()
मैं हूँ 'यह त्रुटि मिलती: यूआरएल पार करने से पहले
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe1' in position 8: ordinal not in range(128)
मैं का उपयोग कर की कोशिश की है इस urllib रहे हैं:
url = urllib.quote(url)
और इस:
url = url.encode('UTF-8')
लेकिन यह काम नहीं करता
आप मुझे बता सकते मैं गलत क्या कर रहा हूँ?
मेरा मानना है कि इस के बाद से बदल दिया गया है, और कम से: यहाँ मेरी कोड है कम से कम डोमेन अब मनमाना यूनिकोड वर्ण हो सकते हैं। – Cerin
@Cerin सॉर्ट करें। [आईआरआई में मनमाने ढंग से यूनिकोड वर्ण हो सकते हैं] (https://www.w3.org/International/articles/idn-and-iri), लेकिन जब आप उन्हें नियमित यूआरआई में परिवर्तित करते हैं तो उन्हें 'Punycode' का उपयोग करके ASCII के लिए सामान्यीकृत किया जाता है (के लिए डोमेन घटक) और प्रतिशत-एन्कोडिंग (पथ घटक के लिए)। –