Кодировка символов для возвращаемых значений функции API Postgres? - PullRequest
0 голосов
/ 13 апреля 2011

У меня есть экземпляр сервера 9.0 postgres и база данных, использующая кодировку символов UTF8 с сопоставлением German_Germany.1252.Я пытаюсь получить сообщения об ошибках libpq на клиенте в виде строк US-ASCII.Для этого я делаю:
PQsetClientEncoding (соединение, "SQL_ASCII");
, который не возвращает ошибки.Однако строки, возвращаемые из PQerrorMessage (), по-прежнему выглядят как UTF8.
Всегда ли возвращаемое значение из PQerrorMessage всегда гарантированно равно UTF8?Неважно, настройки клиента / сервера?

1 Ответ

1 голос
/ 14 апреля 2011

SQL_ASCII в качестве клиентской кодировки означает пропуск байтов как есть, а это именно то, чего вы не хотели. На самом деле нет никакой клиентской кодировки, которая соответствует только ASCII. Если ваши сообщения на немецком языке, вам может потребоваться настройка, например LATIN1 или LATIN9. В противном случае измените язык на английский, и все равно сообщения будут в ASCII.

...