Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Павел Лузанов, спасибо за ответ! автор1. Открой cmd.exe 2. Установи шрифт Lucida Console 3. Установи переменную: SET LANGUAGE=ru 4. Выполни команду: psql --help Что выводится? Но я бы предложил читать сообщения об ошибках на английском. Для этого можно после запуска cmd.exe выставить переменную: SET LANGUAGE=en Попробовал. Help выводит корректно. На всякий случай выставил SET LANGUAGE=en, проверил - хелп вывелся на английском. Отработал комманду восстановления - ошибки все-равно пошли в кракозябрах. авторА для того чтобы данные правильно выгружались/загружались, важно использовать одну и туже кодировку для pg_dump при выгрузке и psql/pg_restore при загрузке. Поскольку БД в UTF8, имеет смысл перед запуском pg_dump выставить: SET PGCLIENTENCODING=UTF8 А в самой команде использовать опцию encoding: pg_dump --encoding=UTF8 Попробую это, но правильно ли я понял, что вот мою конкретную проблему с нечитабельностью сообщений об ошибках это не решит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2016, 12:22 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
KernoПопробовал. Help выводит корректно. На всякий случай выставил SET LANGUAGE=en, проверил - хелп вывелся на английском. Отработал комманду восстановления - ошибки все-равно пошли в кракозябрах. А если перед командой восстановления сделать: SET PGOPTIONS='-c LC_MESSAGES=en_US.UTF8' KernoПопробую это, но правильно ли я понял, что вот мою конкретную проблему с нечитабельностью сообщений об ошибках это не решит? Правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2016, 14:33 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
авторА если перед командой восстановления сделать: SET PGOPTIONS='-c LC_MESSAGES=en_US.UTF8' Ввел эту команду в cmd перед командой восстановления, затем ввел: Код: powershell 1. не помогло. получил: авторpsql: Р'Р?Р-Р?Р?: Р?РчР?РчС?Р?С<Р№ Р°С?Р?С?Р?РчР?С' РєР?Р?Р°Р?Р?Р?Р?Р№ С?С'С?Р? РєРё Р?Р>С? С?РчС?Р?РчС?Р?Р?Р?Р? РїС?Р?С+РчС?С?Р°: '-c ПОДСКАЗКА: Р"Р>С? Р?Р?РїР?Р>Р?РёС'РчР>С?Р?Р?Р№ РёР?С"Р?С?Р?Р°С+РёРё РїР?РїС?Р?Р +С?Р№С'Рч "postgres --help". Наверняка что-нибудь про то, что такая БД, и ее сущности, уже существует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2016, 10:38 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Kernoне помогло. получил Почему ты считаешь, что не помогло? Заказал utf-8 - получил utf-8. chcp 65001 спасёт ОРД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2016, 14:36 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Это не помогло решению моей проблемы, а моя проблема в том, что не отображаются сообщения об ошибках в читабельном виде. После ввода предложенной команды (chcp 65001), получил вот это: авторC:\Users\администратор>chcp 65001 Active code page: 65001 C:\Users\администратор>"C:\Program Files\PostgreSQL\9.5\bin\psql.exe" -U postgres -d basename-f e:\basename.sql П psql: Р ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2016, 14:53 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Kerno, Если желание разобраться еще не пропало, то можно продолжить. 1. Для начала, какой дистрибутив PostgreSQL используете, где брали? 2. В какой кодировке e:\basename.sql (в UTF8?). Можно на него взглянуть? 3. Запускаем cmd.exe 4. шрифт Lucida Console 5. chcp 1251 6. SET LANGUAGE=en 7. SET PGCLIENTENCODING=WIN1251 8. SET PGOPTIONS='-c LC_MESSAGES=C' 9. SET Дальше интересует вывод на экран от команд: 9. Запускаем psql (без указания дамп файла): psql.exe -U postgres -d basename 10. \list basename 11. \encoding 12. show lc_messages; Вот всё что на экране появилось после запуска cmd.exe - всё сюда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2016, 15:11 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Павел Лузанов, Конечно. автор1. Для начала, какой дистрибутив PostgreSQL используете, где брали? 2. В какой кодировке e:\basename.sql (в UTF8?). Можно на него взглянуть? 3. Запускаем cmd.exe 4. шрифт Lucida Console 5. chcp 1251 6. SET LANGUAGE=en 7. SET PGCLIENTENCODING=WIN1251 8. SET PGOPTIONS='-c LC_MESSAGES=C' 9. SET Дальше интересует вывод на экран от команд: 9. Запускаем psql (без указания дамп файла): psql.exe -U postgres -d basename 10. \list basename 11. \encoding 12. show lc_messages; Вот всё что на экране появилось после запуска cmd.exe - всё сюда. 1. select version(): "PostgreSQL 9.5.3, compiled by Visual C++ build 1800, 64-bit" Брал на оф.сайте 2.Notepad++ мне подсказывает, что файл в кодировке UTF8. Могу процитировать начальные настройки из файла, там где всякие переменные задаются, но содержимое таблиц дать не могу: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 3.-8.: Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Сделал. 9. Не могу подключиться к базам данных. По ходу что-то не так с инициализацией подключения после SET PGOPTIONS='-c LC_MESSAGES=C' Код: powershell 1. 2. 3. 4. 5. 6. Пока что ищу способ отменить этот параметр, чтобы подтвердить свою догадку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2016, 17:00 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Kerno, Да что его искать. Нужно удалить переменную: SET PGOPTIONS= Что теперь после подключения к psql с остальными командами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2016, 17:11 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Павел Лузанов, угу: Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. автор10. \list basename 11. \encoding 12. show lc_messages; Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2016, 17:44 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Kerno, Нашел ненуженый win7, поставил PostgreSQL с оф. сайта (это версия EnterpriseDB). Вот что получается. 1. Заставить корректно работать окно cmd.exe, UTF8 и psql у меня не получается. Т.е. после установки chcp 65001 и выставления параметра client_encoding=UTF8 psql всё равно работает некорректно. 2. Переменная PGOPTIONS почему то приводит к ошибке подключения, хотя синтаксис вроде верный. Поэтому предлагаю следующее. Сообщения. Их лучше выводить на английском. Сообщения бывают двух видов: сообщения сервера и сообщения клиентских утилит (psql, pg_dump). Клиентские сообщения переводятся на английский установкой переменной: SET LANGUAGE=en (это один из многих вариантов) Сообщения сервера можно переключить на английский так. Заходим в psql и выполняем (это нужно сделать один раз): alter system set lc_messages to 'C'; select pg_reload_conf(); Сами данные. Текущая ситуация. pg_dump был сделан в UTF8 и в самом начале скрипта выставляет client_encoding в UTF8. Так что данные должны восстанавливаться правильно, но в окне cmd будут отображаться некорректно. Для работы с psql, как уже и говорили: chcp 1251 перед запуском psql. Кириллица будет использоваться корректно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2016, 18:03 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
В официальной сборке для Windows есть проблемы с русской кодировкой. Год назад я с этим плотно занимался. Для официальной сборки помогало только переключение на английский всех сообщений. Когда я делал свою сборку, проблема решилась правильной библиотекой GETTEXT и ICONV. Свои сборки я размещал здесь: http://vvs.ru/pg , но последние версии не собирал. Сборки от posgrespro этими глюками вроде бы также не страдают: http://postgrespro.ru/products/download ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 01:18 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Павел Лузанов, Воо! То что нужно. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 11:59 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Виктор, привет! Вынужден признать, что все три сборки (EnterpriseDB, PostgresPro и твоя) работают с UTF8 из cmd.exe одинаково и некорректно. Точнее не работают. Вот как это выглядит: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Т.е. установив кодировку UTF8 (chcp 1251 и правильные шрифты) я попробовал: - вывести сообщения клиента: psql --help - сделать запрос к БД: \list - вывести сообщения сервера: ошибочная команда select1; Ничего из вышеперечисленного с кириллицей не работает. Да, можно переключиться в win1251 (chcp 1251), тогда всё корректно. Но база то в UTF8, а все утилиты постгреса - консольные и получается, что не могут корректно работать в UTF8. Взять pg_dump. Он должен выгружать в UTF8, но потом при восстановлении на экране кракозябры будут, хотя восстановится всё корректно. В общем, не аккуратненько. Спрошу у наших, можно ли ситуацию поправить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:09 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Павел Лузанов, Ух ты. У нас оказывается идет доработка и тестирование новой сборки под windows, в которой помимо корректной работы с UTF8 будет еще и автодополнение работать. Дали поиграться, вот что получается: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:51 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Павел Лузанов, У меня вроде бы все нормально с psql, сообщения на \list и select1; выдаются корректно В инсталляторе создается ярлык для запуска psql, для которого настраивается шрифт для консоли Lucida и запуск с командой chcp 1251. В сборке от EDB это не помогало. Помнится команда chcp 65001 у меня вообще не работала корректно. Проверил pg_dump.exe --format custom --blobs --encoding UTF8 --verbose --file "c:/temp/test2.backup" "VvsTest1" - выдает сообщения корректно и без chcp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 13:03 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Victor SpirinПомнится команда chcp 65001 у меня вообще не работала корректно. Вот именно об этом и речь )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 13:06 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Павел Лузанов, Да, pg_restore.exe --dbname "alex1" --no-password --verbose "c:/temp/test2.backup" местами пишет кракозябры. А где Вы правите работу с UTF в своей сборке - в ядре postgres или в библиотеках, вроде gettext ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 13:18 |
|
||
|
Кодировка русских букв.
|
|||
|---|---|---|---|
|
#18+
Павел Лузанов, Кстати, раз Вы готовите обновление Windows сборки, то сообщаю, что столкнулся с ситуацией когда наши инсталляторы не устанавливают postgres под Windows 10 Home. Возникает проблема с установкой прав доступа на папку с данными, в домашней редакции Win10 скрипт не дает нужных прав и база данных не инициализируется. В итоге, я давал права вручную и повторно устанавливал. (Диме Васильеву я сразу сообщил как заметил.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 19:34 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39270869&tid=1997115]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 283ms |
| total: | 445ms |

| 0 / 0 |
