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