Почему шрифты заголовков таблицы не отображаются правильно внутри оболочки SQL (psql)? - PullRequest
0 голосов
/ 10 февраля 2020

Пожалуйста, помогите мне решить проблему с psql Shell. Когда я работаю в оболочке SQL, заголовки столбцов отображаются неправильно (это должно отображаться более красиво, знаете ли вы, как решить эту проблему? Моя операционная система windows 7 ultimate SP1

Как в этом примере:

                                          ╤яшёюъ срч фрээ√ї
    ╚ь     | ┬ырфхыхЎ | ╩юфшЁютър |     LC_COLLATE      |      LC_CTYPE       |
    ╧Ёртр фюёЄєяр

или как это:

                    ╤яшёюъ юЄэю°хэшщ
 ╤їхьр  |      ╚ь        |        ╥шя         | ┬ырфхыхЎ

Полные команды, которые я написал в SQL Shell:

Server [localhost]:
Database [postgres]:
Port [5432]:
Username [postgres]:
Пароль пользователя postgres:
psql (10.11)
ПРЕДУПРЕЖДЕНИЕ: Кодовая страница консоли (866) отличается от основной
                страницы Windows (1251).
                8-битовые (русские) символы могут отображаться некорректно.
                Подробнее об этом смотрите документацию psql, раздел
                "Notes for Windows users".
Введите "help", чтобы получить справку.

postgres=# \l
                                          ╤яшёюъ срч фрээ√ї
    ╚ь     | ┬ырфхыхЎ | ╩юфшЁютър |     LC_COLLATE      |      LC_CTYPE       |
    ╧Ёртр фюёЄєяр
-----------+----------+-----------+---------------------+---------------------+-
----------------------
 postgres  | postgres | UTF8      | Russian_Russia.1251 | Russian_Russia.1251 |
 template0 | postgres | UTF8      | Russian_Russia.1251 | Russian_Russia.1251 |
=c/postgres          +
           |          |           |                     |                     |
postgres=CTc/postgres
 template1 | postgres | UTF8      | Russian_Russia.1251 | Russian_Russia.1251 |
=c/postgres          +
           |          |           |                     |                     |
postgres=CTc/postgres
(3 ёЄЁюъш)


postgres=# CREATE TABLE flights (    id SERIAL PRIMARY KEY,    origin VARCHAR NO
T NULL,    destination VARCHAR NOT NULL,    duration INTEGER NOT NULL);
CREATE TABLE
postgres=# \d
                    ╤яшёюъ юЄэю°хэшщ
 ╤їхьр  |      ╚ь        |        ╥шя         | ┬ырфхыхЎ
--------+----------------+--------------------+----------
 public | flights        | ЄрсышЎр            | postgres
 public | flights_id_seq | яюёыхфютрЄхы№эюёЄ№ | postgres
(2 ёЄЁюъш)


postgres=#

Я думаю, , я не уверен, может быть, проблема здесь? Но как добавить новые шрифты в эту таблицу?

 postgres=# \l
                                          ╤яшёюъ срч фрээ√ї
    ╚ь     | ┬ырфхыхЎ | ╩юфшЁютър |     LC_COLLATE      |      LC_CTYPE       |
    ╧Ёртр фюёЄєяр
-----------+----------+-----------+---------------------+---------------------+-
----------------------
 postgres  | postgres | UTF8      | Russian_Russia.1251 | Russian_Russia.1251 |
 template0 | postgres | UTF8      | Russian_Russia.1251 | Russian_Russia.1251 |
=c/postgres          +
           |          |           |                     |                     |
postgres=CTc/postgres
 template1 | postgres | UTF8      | Russian_Russia.1251 | Russian_Russia.1251 |
=c/postgres          +
           |          |           |                     |                     |
postgres=CTc/postgres
(3 ёЄЁюъш)

Я читаю этот сайт https://www.postgresql.org/docs/8.4/multibyte.html#AEN29822 это довольно близко к моему проблема, но согласно этой информации я мог изменять только текстовые шрифты только внутри таблиц, он не мог изменить шрифты заголовков столбцов.

1 Ответ

0 голосов
/ 10 февраля 2020

Решение: Шаг 1. Я изменил стиль шрифта cmd.exe на Lucida Console! Шаг 2. Я использовал команду: chcp 1251 Шаг 3. Я использую команду: psql -d postgres -U postgres

Теперь это отображение правильно и должно быть!

Но каждый раз, когда вы перезапускаете cmd, мне нужно использовать chcp 1251, я не умею сохранять и оставлять его навсегда. Может быть, вы знаете?

C:\Users\zubr>chcp 1251
Текущая кодовая страница: 1251

C:\Users\zubr>psql -d postgres -U postgres
Пароль пользователя postgres:
psql (10.11)
Введите "help", чтобы получить справку.

postgres=# \l
                                          Список баз данных
    Имя    | Владелец | Кодировка |     LC_COLLATE      |      LC_CTYPE       |
    Права доступа
-----------+----------+-----------+---------------------+---------------------+-
----------------------
 postgres  | postgres | UTF8      | Russian_Russia.1251 | Russian_Russia.1251 |
 template0 | postgres | UTF8      | Russian_Russia.1251 | Russian_Russia.1251 |
=c/postgres          +
           |          |           |                     |                     |
postgres=CTc/postgres
 template1 | postgres | UTF8      | Russian_Russia.1251 | Russian_Russia.1251 |
=c/postgres          +
           |          |           |                     |                     |
postgres=CTc/postgres
(3 строки)


postgres=# \d
                    Список отношений
 Схема  |      Имя       |        Тип         | Владелец
--------+----------------+--------------------+----------
 public | flights        | таблица            | postgres
 public | flights_id_seq | последовательность | postgres
(2 строки)


postgres=#
...