On Sun, 01 Aug 2010 01:22:03 +0100, Baz Walter <[email protected]> wrote: > On 31/07/10 17:25, detlev wrote: >> Hi, >> >> if I show an autocompletion list or userlist with >> QsciScintilla.showUserList(...) for a list that contains a string with a >> non- >> ASCII character (e.g. 'Ü'), that character is not shown correctly and is >> not >> returned correctly when selected (e.g. handleÜmlauts is shown as >> handle�mlauts). > > i tried something like this: > > mylist = u'\xDC \xDD \xDE \xDF' > > if self.isUtf8(): > mylist = mylist.encode('utf-8') > else: > mylist = mylist.encode('latin-1') > > self.SendScintilla(self.SCI_USERLISTSHOW, 1, mylist) > > ...and the non-ascii characters were displayed correctly. > > so it looks like qscintilla's listbox is unicode-aware, but the > showuserlist method is not.
It's SendScintilla() that's the issue. You should really treat Scintilla like a file, ie. always be explicit about the encoding - so what you have done is correct. I may make it more restrictive (ie. more correct, but maybe at the cost of breaking code) by requiring bytes objects (for Python3) and str objects (for Python2), and no longer allowing str objects (for Python3) and unicode objects (for Python2). Phil _______________________________________________ QScintilla mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/qscintilla
