Tom Lane wrote:
Well, in that case your encoding is indeed at variance with your locale
setting ;-).  Perhaps you should declare the encoding as SQL_ASCII.

The immediate problem is that mbstowcs() is being called and it
evidently doesn't know what to do in C locale.  SQL_ASCII (or any
single-byte encoding) would bypass this code path and avoid the
error.

The problem is that we need UNICODE encoding in our database. We make heavy use of UTF-8 (our website is multilingual).


I now tried with locale set to de_DE.UTF-8, but

CREATE INDEX foobar_uvalue_key ON foobar USING btree (upper((value)::text));

still gives me

ERROR:  invalid multibyte character for locale.

With 7.3 and 7.4 this is working fine. May I assume that 7.3 and 7.4 behaviour is buggy? Is 8.0 just stricter or is this just a side effect of your fix for multibyte upper/lower problem for locale != C?

If 7.3 and 7.4 behaviour is intended, is there a way to let 8.0 behave the same?

Regards,
Bjoern

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to