[Zope] Splitter woes

Oleg Broytmann Oleg Broytmann <phd@mail2.phd.pp.ru>
Mon, 5 Mar 2001 18:07:33 +0300 (MSK)


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.