[Zope] DCOracle and chars over 128

Shai Berger shai@aristocart.com
Thu, 22 Feb 2001 22:41:32 +0200


Hi,

I have been too busy to actually read the list in the last two weeks,
but I thought I'd share with you my latest finding about 
ZOracleDA/DCOracle: In some circumstances (we suspect the LANG setting
at the time of build) it chops 128 (the most significant bit) off
characters inserted into the database as strings.

In our case, it turned a ™ (trademark) character into a  
(sometimes reported as ^Y). Since the latter is not a valid character 
in many sets, this caused severe problems in our related systems.
We also had not-so-severe problems with ® (registered trademark,
I think) turning into . ("."), because the latter is a common
printable.

We have two very similar installations of Zope with Oracle, one of
them displayed this malicious behaviour, and the other didn't.
As far as we could see, the only difference between the two is
that in the computer which does modify characters users get (by default)
a LANG=POSIX, and on the well-behaved one LANG=en_US.

Oh, of course, the details: Zope 2.2.5 binary, ZOracleDA 2.1,
DCOracle 1.3.2, Oracle 8.0.5, Linux.

(Please cc me on replies; as I said, I don't really read the list
very attentively these days).

Have fun,
	Shai.