MegaMufa
@MegaMufa

Как в Postgres реализовать вывод русских букв?

Добрый вечер.
Все никак не могу разобраться с русскими буквами в результате запроса postgres.
Делаю запрос, который возвращает несколько строк (они помещаются к терминале):

результат запроса
select * from tbl_log limit 5;
 id | level |  category   |     date_create     |      message
----+-------+-------------+---------------------+-----------------------------------------------------------------------------
 43 | cron  | application | 2013-12-29 22:20:02 | Обновлены счетчики просмотров изображений. 0 просмотров для 0 изображений.
 44 | cron  | application | 2013-12-29 22:25:01 | Обновлены счетчики просмотров изображений. 0 просмотров для 0 изображений.
 45 | cron  | application | 2013-12-29 22:30:01 | Обновлены счетчики просмотров изображений. 2 просмотров для 2 изображений.
 46 | cron  | application | 2013-12-29 22:35:02 | Обновлены счетчики просмотров изображений. 0 просмотров для 0 изображений.
 47 | cron  | application | 2013-12-29 22:40:01 | Обновлены счетчики просмотров изображений. 0 просмотров для 0 изображений.


Если же выбрать столько строк, что они не влезают в экран, бд передает результат в vim, а эта адская штука не показывает русские буквы. Каждая строки этого запроса в редакторе имеет вид:
spoiler
227 | cron  | application                  | 2013-12-30 23:00:01 | <D0><9E><D0><B1><D0><BD><D0><BE><D0><B2><D0><BB><D0><B5><D0><BD><D1><8B> <D1><81><D1><87><D0><B5><D1><82><D1><87><D0><B8><D0><BA><D0><B8> <D0><BF><D1><80><D0><BE><D1>
<81><D0><BC><D0><BE><D1><82><D1><80><D0><BE><D0><B2> <D0><B8><D0><B7><D0><BE><D0><B1><D1><80><D0><B0><D0><B6><D0><B5><D0><BD><D0><B8><D0><B9>. 0 <D0><BF><D1><80><D0><BE><D1><81><D0><BC><D0><BE><D1><82><D1><80><D0><BE><D0><B2> <D0><B4>
<D0><BB><D1><8F> 0 <D0><B8><D0><B7><D0><BE><D0><B1><D1><80><D0><B0><D0><B6><D0><B5><D0><BD><D0><B8><D0><B9>.


Если выставить в терминале бд вертикальный вывод (\x) - то при нескольких строках - все норм, а при больших объемах, опять та же песня с кодировкой.

Подскажите, что я делаю не так. В чем может быть проблема? Я уже не знаю, что думать. Спросил бы гугл, да вот не знаю, что спрашивать.
  • Вопрос задан
  • 3710 просмотров
Пригласить эксперта
Ответы на вопрос 2
Для вывода psql использует переменную окружения PAGER. Переопределите её на что-то вроде PAGER=/usr/bin/less вместо vim.
Ответ написан
MegaMufa
@MegaMufa Автор вопроса
Продолбался - так ничего и не вышло.
Прописал в PAGER другой редактор - все равно используется vim. Как в vim-е ввести команду, тоже не нашел - при просмотре результатов нажимаю : что бы ввести команду, прописываю e ++enc=utf-8 - пишет No such file or directory (press RETURN)
В итоге нашел, что в postgres можно отключить постраничную разбивку \pset pager off. Благо putty имеет скрол.

Спасибо, что потратили свое время.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы