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) - то при нескольких строках - все норм, а при больших объемах, опять та же песня с кодировкой.

Подскажите, что я делаю не так. В чем может быть проблема? Я уже не знаю, что думать. Спросил бы гугл, да вот не знаю, что спрашивать.
  • Вопрос задан
  • 3740 просмотров
Пригласить эксперта
Ответы на вопрос 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 имеет скрол.

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

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

Похожие вопросы