Здравствуйте!
Столкнулся с проблемой:
есть БД в кодировке 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 без конкретного указания использует кодировку предоставленную текущей локалью операционной системы. Что говорит
Попробуйте ещё указывать кодировку в самой командой строке psql, например так: