Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблемы с кракозялбами / 12 сообщений из 12, страница 1 из 1
04.09.2019, 12:18
    #39857071
lr2
lr2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кракозялбами
Добрый день.

При подключении в psql сообщения об ошибках отображаются кракозялами.



Код: sql
1.
2.
3.
cmd>psql -U postrges -h 192.168.0.5
Пароль пользователя postrges:
psql: ВАЖНО:  пользователь "postrges" не прошёл проверку подлинности (по паролю)




Менял в cmd кодировки chcp 1251 и 866 - все равно кракозяблы, хоть и некоторомыми символами отличаются.




Настройки в БД вот такие:


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
postgres=# select name,setting from pg_settings where name LIKE 'lc%';
    name     |   setting
-------------+--------------
 lc_collate  | ru_RU.UTF-8
 lc_ctype    | ru_RU.UTF-8
 lc_messages | ru_RU.cp1251
 lc_monetary | ru_RU.cp1251
 lc_numeric  | ru_RU.cp1251
 lc_time     | ru_RU.cp1251
(6 строк)




Подскажите пожалуйста как избавиться от кракозябл?
...
Рейтинг: 0 / 0
04.09.2019, 12:23
    #39857080
lr2
lr2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кракозялбами
при этом, если пароль вообще не вводить то сообщение по-английски:


Код: sql
1.
2.
3.
cmd>psql -U postrges -h 192.168.0.5
Пароль пользователя postrges:
psql: fe_sendauth: no password supplied



я так понимаю это сообщение локальный psql выдает, а если неправильный пароль ввести - это сообщение от сервера постгрес.



Но только как сделать чтобы эти сообщения на клиенте читались нормально?
...
Рейтинг: 0 / 0
04.09.2019, 12:33
    #39857092
lr2
lr2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кракозялбами
Еще, сменил параметр с:

#client_encoding = sql_ascii

на:

client_encoding = 'win1251'

делаю pg_reload_conf()


А в БД все равно не utf-8



Код: sql
1.
2.
3.
4.
postgres=# select name,setting from pg_settings where  name='client_encoding';
      name       |   setting
-----------------+--------------
 client_encoding | UTF8
...
Рейтинг: 0 / 0
04.09.2019, 12:50
    #39857110
lr2
lr2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кракозялбами
postgres ведь именно из параметра lc_messages берет кодировку, в которой выводить сообщения?
...
Рейтинг: 0 / 0
04.09.2019, 13:01
    #39857119
lr2
lr2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кракозялбами
Данные из таблиц отображаются корректно.

Данные, которые показывает сам psql тоже отображаются коректно:

Код: sql
1.
2.
3.
4.
5.
6.
7.
postgres=# help
Вы используете psql - интерфейс командной строки к PostgreSQL.
Азы:   \copyright - условия распространения
       \h - справка по операторам SQL
       \? - справка по командам psql
       \g или ; в конце строки - выполнение запроса
       \q - выход





сообщения об ошибках отображаются корректно:

Код: sql
1.
2.
3.
4.
5.
postgres=# fvsdfvfvs;
ОШИБКА:  ошибка синтаксиса (примерное положение: "fvsdfvfvs")
СТРОКА 1: fvsdfvfvs;
          ^
postgres=#






НО ошибки при подключении отображаются кракозяблами:

psql: ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю)



Помоги разобраться как сделать чтобы сообщения об ошибках при подключении оботражались нормально?
...
Рейтинг: 0 / 0
04.09.2019, 13:05
    #39857124
lr2
lr2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кракозялбами
lr2Помоги те
...
Рейтинг: 0 / 0
04.09.2019, 13:07
    #39857125
lr2
lr2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кракозялбами
Еще заметил что если оставить страницу chcp 866, то содержимое таблиц отображается кракозяблами.





Но меня интересует как сделать чтобы сообщение об ошибке при подключении отображалось корректно...
...
Рейтинг: 0 / 0
04.09.2019, 13:18
    #39857136
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кракозялбами
lr2Еще заметил что если оставить страницу chcp 866, то содержимое таблиц отображается кракозяблами.





Но меня интересует как сделать чтобы сообщение об ошибке при подключении отображалось корректно...

Пропишите в конфиге базы lc_messages=С
и успокойтесь (ну и перечитайте конфиг конечно).
...
Рейтинг: 0 / 0
04.09.2019, 13:56
    #39857174
lr2
lr2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кракозялбами
Maxim Boguklr2Еще заметил что если оставить страницу chcp 866, то содержимое таблиц отображается кракозяблами.





Но меня интересует как сделать чтобы сообщение об ошибке при подключении отображалось корректно...

Пропишите в конфиге базы lc_messages=С
и успокойтесь (ну и перечитайте конфиг конечно).


Большое спасибо!
Заработало!


Теперь пытаюсь понять что этот C значит :-) нет же такой страны...
...
Рейтинг: 0 / 0
04.09.2019, 14:44
    #39857214
lr2
lr2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кракозялбами
Maxim Boguklc_messages=С


Так и не понял что это.

Максим, это какое-то специальное значение?
...
Рейтинг: 0 / 0
04.09.2019, 14:53
    #39857223
lr2
lr2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кракозялбами
ведь по идее это английская локаль.... как онарусские буквы нормально отображает...


или это стандартная локаль libC ?
...
Рейтинг: 0 / 0
04.09.2019, 15:15
    #39857247
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с кракозялбами
lr2,

Это специальная (емнип, стандартная POSIX) локаль обозначающая минимальную реализацию локали. В том числе простую побайтовую сортировку строк, 8-битные символы, пропуск gettext вызовов без выполнения локализации.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблемы с кракозялбами / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]