Hello everybody
As one of the contributors of parts of the SciTE code to enableUnicode and 
UTF-8 find / replace on NT-based systems, I felt obligedto look into that issue 
more seriously...
I was aware that SciTE's "%1 not found" message box might display textin the 
wrong encoding, so I suggested to replace it with a generic"the specified text 
was not found" message (without again displayingthe text snippet being searched 
for).
Neil refused that, I don't remember why exactly (he told me there weremany 
other issues with Unicode and UTF-8 compatibility, i.e. the regexengine cannot 
handle multibyte characters, and case-insensitivesearches are not possible, 
either – probably Neil preferred a morecomplete solution instead of just simple 
patches that even reducefunctionality, which I can understand...?).
Strings passed to SciTEBase::EncodeString(), and on to the 
descendantSciTEWin::EncodeString(), are in UTF-8 on Windows NT, and in 
systemdefault ANSI encoding on Windows 9x (if I remember rightly...). Themost 
simple solution would be to keep a copy of the string passed toEncodeString() 
and always convert it to ANSI (so have multibytecharacters replaced by ???'s) 
before displaying the message, i.e.before calling LocaliseMessage(). A more 
extensive approach would beto modify the (platform-dependent) functions to 
format and display themessage, i.e. using MessageBoxW() on NT, to ensure proper 
display ofextended characters.
At the moment my laptop is covered with cobwebs, as I have retiredfrom my 
computer projects for several months, being busy otherwise, soI'm very sorry I 
can't promise I will work on this...
--Florian
_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest

Reply via email to