Peter Eisentraut <peter_e@gmx.net> writes:
> On Sat, 2009-10-03 at 00:42 -0400, Tom Lane wrote:
>> As far as I can tell, PLyObject_ToDatum is invoking PLyUnicode_Str and
>> then PyString_AsString, and what it gets back from the latter is
>> (in C string notation) "\200\0". Possibly what this means is that
>> python thinks that that is the correct LATIN2 representation of
>> \u0080.
> Well, \u0080 is \x80 in LATIN2, which is "\200\0" as a C string. So far
> so good. But that does not equate to the Euro sign, which the build
> farm result shows. So something is screwing up beyond this point.
Well, there are assorted Windows code pages in which 0x80 *is* supposed
to map to the Euro sign. I suspect some confusion somewhere in
Solaris-land about the definition of LATIN2. But the main point here
is that what is coming out, on my machines as well as Zdenek's, is the
single byte "\200" not the "\\u0080" representation that the test seems
to expect. Where exactly are you expecting the latter string to get
substituted in?
regards, tom lane