Changeset 113

Show
Ignore:
Timestamp:
03/25/06 23:00:29 (18 years ago)
Author:
jerome
Message:

Fixed unicode problem.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykoticon/trunk/bin/pykoticon

    r112 r113  
    111111        values = {} 
    112112        for (k, v) in varvalues.items() : 
    113             values[k] = v.data 
     113            values[k] = self.frame.UTF8ToUserCharset(v.data) 
    114114        wx.CallAfter(self.frame.askDatas, [ self.frame.UTF8ToUserCharset(v.data) for v in labels ], \ 
    115115                                          varnames, \ 
    116                                           [ self.frame.UTF8ToUserCharset(v.data) for v in values]) 
     116                                          values) 
    117117        # ugly, isn't it ? 
    118118        while self.frame.dialogAnswer is None : 
     
    338338        self.charset = charset 
    339339        self.port = localport 
    340         self.server = MyXMLRPCServer(self, printserver, localport) 
     340        self.server = MyXMLRPCServer(self, printserver, localport, debug=True) 
    341341         
    342342    def UTF8ToUserCharset(self, text) : 
     
    345345            try : 
    346346                return unicode(text, "UTF-8").encode(self.charset)  
    347             except UnicodeError :     
     347            except (UnicodeError, TypeError) :     
    348348                try : 
    349349                    # Incorrect locale settings ? 
    350350                    return unicode(text, "UTF-8").encode("ISO-8859-15")  
    351                 except UnicodeError :     
    352                     pass 
     351                except (UnicodeError, TypeError) :     
     352                    try : 
     353                        return text.encode(self.charset)  
     354                    except (UnicodeError, TypeError, AttributeError) : 
     355                        pass 
    353356        return text 
    354357         
     
    358361            try : 
    359362                return unicode(text, self.charset).encode("UTF-8")  
    360             except UnicodeError :     
     363            except (UnicodeError, TypeError) :     
    361364                try : 
    362365                    # Incorrect locale settings ? 
    363366                    return unicode(text, "ISO-8859-15").encode("UTF-8")  
    364                 except UnicodeError :     
    365                     pass 
     367                except (UnicodeError, TypeError) :     
     368                    try : 
     369                        return text.encode("UTF-8")  
     370                    except (UnicodeError, TypeError, AttributeError) : 
     371                        pass 
    366372        return text 
    367373