Проблема с кодировкой Windows-1251 в PSQL
Проблема с кодировкой Windows-1251 в командной строке PSQL (терминальный клиент для работы с СУБД PostgreSQL) остаточно распространенное явление, и решить эту проблему можно несколькими способами.
1 способ: установка кодировки Windows-1251 в PSQL
Открываем утилиту PSQL. Сначала вводим данные для авторизации, а затем команду \l, чтобы вывести список всех баз данных. И как мы видим, есть проблема с отображением символов в командной строке.
Чтобы установить кодировку Windows-1251 для текущего сеанса в окне терминала PSQL необходимо ввести следующую команду — \! chcp 1251, и подтвердить её нажатием клавиши Enter.
Снова выполняем команду \l, и видим, что проблема с кодировкой решена. Недостаток этого способа заключается в том, что придётся вводить эту команду каждый раз при открытии нового окна терминала PSQL.
2 способ: установка кодировки в файле runpsql.bat
Находим ярлык SQL Shell (psql) в меню — Пуск, нажимаем правой кнопкой мыши и переходим к расположению файла. Либо сразу открываем директорию, в которую установлен PostgreSQL и переходим в каталог — scripts.
Сейчас необходимо открыть файл runpsql.bat в текстовом редакторе для последующего редактирования. Данное действие нужно выполнить от имени администратора.
Сразу после команды @echo off добавляем команду chcp 1251 она будет устанавливать кодировку Windows-1251 для каждого открытого окна PSQL. Сохраняем внесенные изменения.
Открываем окно терминала PSQL и сразу видим, что для окна уже установлена кодировка Windows-1251.
Метки: PostgreSQL, PSQL.
Вопрос за малым, как выполнить действия с этим файлом от имени администратора, если программа не дает этого сделать?
Нажать «правую кнопку мыши», а затем на «запустить от имени администратора»
все сделал по вашему совету, но послу psql Shell вообще изчез. что делатЬ?
Не должен он исчезнуть, если вы делали по инструкции.
При запуске от имени администратора открывается командная строка. Файл не удается редактировать. И все сделано по инструкции. Поясните еще раз. 16 версия PSQL. Как я понял, не у первого не сработало.
Прове версию, это полезное замечание. Проверю на других версиях, но сомневаюсь, что подход будет другим.