PostgreSQL: проблемы с кодировкой в ​​Windows при использовании утилиты командной строки psql

Я работаю в централизованной системе мониторинга в Windows 2008 R2, я установил PostgreSQL 9.3 для использования psql из командной строки.

Когда я пытаюсь получить доступ к некоторым удаленным Postgres (8,4 в моем основном случае), у меня есть ошибка с кодировкой:

Команда:

psql.exe -h 192.168.114.12 -p 5432 -d db_seros_transaccion -U postgres -f script.sql

Ошибка:

psql: FATAL:  la conversión entre WIN1252 y LATIN1 no está soportada

Я пытаюсь добавить предложение

SET client_encoding = 'UTF8';

в моем script, но проблема сохраняется (и с другими кодировками тоже, как LATIN1 и WIN1252).

После поиска в Интернете я нашел людей, которые обновляют некоторые строки на сервере, чтобы установить соединение, и это проблема для меня.

Может ли кто-нибудь помочь мне сделать соединение с помощью psql без обновления? Возможно ли это?

Ответ 1

Спасибо большое Craig Ringer, работает, наконец-то работает! Теперь ты мой новый idool!

Шаги:

  • откройте cmd
  • SET PGCLIENTENCODING = utf-8
  • chcp 65001
  • psql -h 192.168.114.12 -U postgres