2013-07-22 28 views
0

所以,我使用Python(與PyQt),我有這個奇怪的問題。 其中:Python編碼錯誤(它工作在一個點,然後它不......)

self.listwithnames = ["Α.Μ.","Μονομελές-Τριμελές", "Ονοματεπώνυμο","Όνομα Πατρός","Όνομα Μητρός","Ημερομηνία Γέννησης", 
           "Τόπος Γέννησης","Φύλο","Εθνικότητα","Διεύθυνση Κατοικίας","Αστυνομικό Τμήμα", 
           "Τηλέφωνο","Επάγγελμα-Ιδιότητα","Ημερομηνία Δικασίμου","Αριθμός Πινακίου", 
           "Πράξη","Ημερομηνία Τέλεσης","Τόπος Τέλεσης","Ύπαρξη Συνενόχων", 
           "Παραδοχή","Περιγραφή Πράξης","Εμφάνιση","Αναβολή","Απόφαση","Αριθμός Απόφασης", 
           "Ημερομηνία Απόφασης","Παρουσία","Προηγούμενες Αποφάσεις","Υπεύθυνος Επιμελητής", "Σχόλια"]  

     #Επιλογές Αναζήτησης ComboBox: 
     self.combobox = QtGui.QComboBox(self) 
     for i in range(0,28): 
      self.combobox.addItem(self.listwithnames[i].decode("utf-8")) 
     self.horizontalLayout.addWidget(self.combobox, 0, 1, 1, 1) 

在這裏,它工作得很好! 但在這裏:

l = [1, 8, 19, 20, 22, 27] 
     self.list_with_lists = [["Μονομελές", "Τριμελές"], ["Αγόρι", "Κορίτσι"], ["Ναι", "Όχι"], ["Ναι", "Όχι"], ["Πρωτοείσακτος", "Υπότροπος", "Αναβολή"], ["Παρών", "Απών"]] 
     if self.combobox.currentIndex() in l: 
      for l_ in self.list_with_lists[l.index(self.combobox.currentIndex())]: 
       for string in l_: 
        self.combobox2.addItem(string.decode('utf-8')) 

它只是不,我得到這個錯誤:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xce in position 0: unexpected end of data 

真奇怪......

解決:

This is the final code: 
l = [1, 8, 19, 20, 22, 27] 
self.list_with_lists = [[u"Μονομελές", u"Τριμελές"], [u"Αγόρι", u"Κορίτσι"], [u"Ναι", u"Όχι"], [u"Ναι", u"Όχι"], [u"Πρωτοείσακτος", u"Υπότροπος", u"Αναβολή"], [u"Παρών", u"Απών"]] 
if self.combobox.currentIndex() in l: 
    self.combobox2.clear() 
    for l_ in self.list_with_lists[l.index(self.combobox.currentIndex())]: 
     self.combobox2.addItem(l_) 
+0

對我來說這是希臘語......但嚴重的是,您可能會嘗試不使用'string'作爲變量名稱,因爲它是python中的受保護字詞,它是類型名稱! – seth

+0

這不是問題,它可以很好地處理拉丁字符...... – Antoni4040

+1

而不是'在l_中的字符串:'嘗試刪除該循環,並只是執行'l_.decode('utf-8')'。 – seth

回答

1

嘗試刪除該循環,而不是string in l_:只是在做l_.decode('utf-8')

相關問題