Кодировка psql по-умолчанию

Здравствуйте!
Столкнулся с проблемой:
есть БД в кодировке UTF8

делаю psql -c 'select field1 from table1;'
выдает ошибку:
ERROR: character with byte sequence 0xd0 0xb0 in encoding "UTF8" has no equivalent in encoding "LATIN1"

если войти в psql и сделать: "\encoding UTF8" - помогает только для текущего сеанса работы psql. После выхода кодировка psql снова становится LATIN1.

Данные по системе: Ubuntu 16.04
Postgresql: 9.5
psql: 9.5.10

Нужно каким-то образом установить кодировку по-умолчанию для клиента psql в UTF8.

Помогите решить проблему, пожалуйста.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

В postgersql.conf найдите

В postgersql.conf найдите блок с кодировкой и исправьте его на нужный.

не помогло в psql команда \l

не помогло
в psql команда \l выдает следующее:

Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
postgres | postgres | LATIN1 | en_US | en_US |
db1 | owner1 | UTF8 | ru_RU.utf8 | ru_RU.utf8 |
template0 | postgres | LATIN1 | en_US | en_US | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | ru_RU.utf8 | ru_RU.utf8 |
db2 | owner2 | UTF8 | ru_RU.utf8 | ru_RU.utf8 |
(5 rows)

Обращаюсь к db1.

По идее psql без конкретного

По идее psql без конкретного указания использует кодировку предоставленную текущей локалью операционной системы. Что говорит

echo $LANG

Попробуйте ещё указывать кодировку в самой командой строке psql, например так:

psql --set CLIENT_ENCODING='UTF8'

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023