=?utf-8?q?PG_Bug_reporting_form?= <noreply@postgresql.org> writes:
> -Issue
> I can't INSERT numeric data to money column on Solaris.
> And I can't understand what error message says. I think codeset should be
> "UTF-8".
> --How to reproduce
> export LANG=ja_JP.UTF-8
> initdb --encoding="UTF-8" --locale="ja_JP.UTF-8" --lc-collate="C"
> --lc-ctype="C" --lc-messages="ja_JP.UTF-8" --lc-monetary="ja_JP.UTF-8"
> --lc-numeric="ja_JP.UTF-8" --lc-time="ja_JP.UTF-8" -D inst1
Hm. I think you're shooting yourself in the foot by specifying
--lc-ctype="C"; in the locale world, that setting is what determines
the character encoding. If you want to use UTF8 then LC_CTYPE had
better match that.
This combination of LC_xxx settings does seem to work more or less sanely
on glibc, but it doesn't surprise me that it doesn't work on Solaris.
> --Output I got
> 2018-12-21 22:15:41.389 JST [8295] WARNING: could not determine encoding
> for locale "ja_JP.UTF-8": codeset is "646"
> WARNING: could not determine encoding for locale "ja_JP.UTF-8": codeset is
> "646"
I suppose "646" here refers to ISO 646, which is basically ASCII.
Maybe we should recognize codeset "646" as a synonym for PG_SQL_ASCII.
But I have a feeling that that'd just leave you with some other, even
less decipherable failure later, given this combination of LC_xxx
settings.
regards, tom lane