This came up on irc:
postgres=# show lc_ctype; lc_ctype
-------------fr_FR.UTF-8
postgres=# show server_encoding;server_encoding
-----------------UTF8
(1 row)
postgres=# select E'\303\201' ILIKE E'\303\241';?column?
----------t
(1 row)
postgres=# select E'\303\201' ~* E'\303\241';?column?
----------f
(1 row)
Obviously, this happens because the locale support functions in
backend/regex/regc_locale.c are (presumably intentionally) crippled so
as not to support non-ascii chars, despite all the code there using
wide chars for everything otherwise.
Why is this? It does not appear to be a documented restriction.
--
Andrew (irc:RhodiumToad)