Hi! I made the last proving experiment. I got what I expected. I cleaned the environment a bit. I removed VKsplitter (Splitter.py) and returned back Splitter.so. It is Solaris - one of platforms where I have problems with russin texts. I restarted Zope and reindex Catalog. Search with russian letters didn't work. I recompiled Splitter.so with the gcc option -funsigned-char. I restarted Zope and reindex the catalog. Search with russian texts worked! Resume: it is not enough to pass (unsigned char) to locale functions. One need to recompile Splitter.c completely with all chars unsigned. Don't know why. But it works (for me). On Fri, 2 Mar 2001, Oleg Broytmann wrote:
On Thu, 1 Mar 2001, Aleksander Salwa wrote:
A long time ago (at least 6 to 12 months), I helped someone with a similar problem. Apparently, the "locale" code under FreeBSD is not correct.
It was me. There was a bug in Splitter.c. But now it is solved (casting to 'unsigned char' before calling character classification routines from <ctype.h> - without this cast it worked on Linux but not on FreeBSD). It was fixed a long time ago. Now it works fine for me. I use FreeBSD 3.5. My locale string is "pl_PL.ISO_8859-2". Zope 2.2.4.
Good for you. But it still doesn't work for me. It works on Linux, but doesn't work on Solaris and FreeBSD :( with Zope 2.3.0.
Oleg. ---- Oleg Broytmann http://www.zope.org/Members/phd/ phd@phd.pp.ru Programmers don't die, they just GOSUB without RETURN.