Re: LC_MESSAGES = 'de_AT' screws restoring from dump.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: LC_MESSAGES = 'de_AT' screws restoring from dump.
Дата
Msg-id 2894.1086712840@sss.pgh.pa.us
обсуждение исходный текст
Ответ на LC_MESSAGES = 'de_AT' screws restoring from dump.  (Erwin Brandstetter <a9006241@unet.univie.ac.at>)
Список pgsql-bugs
Erwin Brandstetter <a9006241@unet.univie.ac.at> writes:
> # While running with:
> lc_messages = 'de_AT'
> encoding = UNICODE

> psql:./e_schema.sql:157: FEHLER:  could not convert UTF-8 character
> 0x00fc to ISO8859-1
> psql:./e_schema.sql:159: FEHLER:  Relation »naehe« existiert nicht

> There seems to be something wrong with German error messages?

I suspect that de_AT on your machine implies a character set encoding
other than Unicode (likely 8859-something).  So strerror() returns
a message that is in 8859-something, but the backend assumes that all
strings inside it are in Unicode, and tries to convert based on that
assumption.  You need to use a locale setting that conforms to the
database encoding you've selected.  It might be called de_AT.utf8
or some such.

It's a real pain in the neck that Postgres can't detect locale settings
that are incompatible with the database encoding.  I don't know any
portable way to find that out, though.

            regards, tom lane

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Erwin Brandstetter
Дата:
Сообщение: LC_MESSAGES = 'de_AT' screws restoring from dump.
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: BUG #1161: User permissions are kept, even if user is