<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://iu5bmstu.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=217.71.139.228</id>
	<title>Кафедра ИУ5 МГТУ им. Н.Э.Баумана, студенческое сообщество - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://iu5bmstu.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=217.71.139.228"/>
	<link rel="alternate" type="text/html" href="https://iu5bmstu.ru/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/217.71.139.228"/>
	<updated>2026-04-30T14:15:25Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://iu5bmstu.ru/index.php?title=PostgreSQL_-_%D0%9A%D0%B8%D1%80%D0%B8%D0%BB%D0%BB%D0%B8%D1%86%D0%B0_%D0%B2_psql_%D0%BF%D0%BE%D0%B4_Windows&amp;diff=4483</id>
		<title>PostgreSQL - Кириллица в psql под Windows</title>
		<link rel="alternate" type="text/html" href="https://iu5bmstu.ru/index.php?title=PostgreSQL_-_%D0%9A%D0%B8%D1%80%D0%B8%D0%BB%D0%BB%D0%B8%D1%86%D0%B0_%D0%B2_psql_%D0%BF%D0%BE%D0%B4_Windows&amp;diff=4483"/>
		<updated>2013-10-29T05:13:10Z</updated>

		<summary type="html">&lt;p&gt;217.71.139.228: /* Суть */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Postgresql logo.png|right]]&lt;br /&gt;
&lt;br /&gt;
В статье пойдёт речь о том, как добиться корректного вывода кириллицы в &amp;quot;консоли&amp;quot; Windows (&amp;lt;code&amp;gt;cmd.exe&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Описание проблемы ==&lt;br /&gt;
&lt;br /&gt;
В дистрибутив PostgreSQL, помимо всего прочего, для работы с СУБД входит:&lt;br /&gt;
* приложение с графическим интерфейсом &amp;lt;code&amp;gt;pgAdmin&amp;lt;/code&amp;gt;;&lt;br /&gt;
* консольная утилита &amp;lt;code&amp;gt;psql&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
При работе с &amp;lt;code&amp;gt;psql&amp;lt;/code&amp;gt; в среде Windows пользователи &amp;lt;s&amp;gt;всегда&amp;lt;/s&amp;gt; довольно часто сталкиваются с проблемой вывода кириллицы. Например, при отображении результатов запроса к таблице, в полях которых хранятся строковые данные на русском языке.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Psql.codepage.fail.png|center]]&lt;br /&gt;
&lt;br /&gt;
Ну и зачем тогда работать с &amp;lt;code&amp;gt;psql&amp;lt;/code&amp;gt;, кому нужно долбить клавиатурой в консольке, когда можно всё сделать красиво и быстро в &amp;lt;code&amp;gt;pgAdmin&amp;lt;/code&amp;gt;? Ну, не всегда &amp;lt;code&amp;gt;pgAdmin&amp;lt;/code&amp;gt; доступен, особенно если речь идёт об удалённой машине. Кроме того, выполнение SQL-запросов в текстовом режиме консоли - это +10 к [http://lurkmore.to/%D0%9A%D1%83%D0%BB%D1%85%D0%B0%D1%86%D0%BA%D0%B5%D1%80 хакирству].&lt;br /&gt;
&lt;br /&gt;
== Решение проблемы ==&lt;br /&gt;
&lt;br /&gt;
Версии ПО:&lt;br /&gt;
* MS Windows 7 SP1 x64;&lt;br /&gt;
* PostgreSQL 8.4.12 x32.&lt;br /&gt;
&lt;br /&gt;
На сервере имеется БД, созданная в кодировке UTF8.&lt;br /&gt;
&lt;br /&gt;
=== Суть ===&lt;br /&gt;
&lt;br /&gt;
Суть проблемы в том, что &amp;lt;code&amp;gt;cmd.exe&amp;lt;/code&amp;gt; работает (и так будет до скончания времён) в кодировке &amp;lt;code&amp;gt;CP866&amp;lt;/code&amp;gt;, а сама Windows - в &amp;lt;code&amp;gt;WIN1251&amp;lt;/code&amp;gt;, о чём &amp;lt;code&amp;gt;psql&amp;lt;/code&amp;gt; предупреждает при начале работы:&lt;br /&gt;
&lt;br /&gt;
 WARNING: Console code page (866) differs from Windows code page (1251)&lt;br /&gt;
          8-bit characters might not work correctly. See psql reference&lt;br /&gt;
          page &amp;quot;Notes for Windows users&amp;quot; for details.&lt;br /&gt;
&lt;br /&gt;
Значит, надо как-то добиться, чтобы кодировка была одна.&lt;br /&gt;
&lt;br /&gt;
В разных источниках встречаются разные рецепты, включая правку реестра и подмену файлов в системных папках Windows. Ничего этого делать не нужно, достаточно всего трёх шагов:&lt;br /&gt;
# сменить шрифт у &amp;lt;code&amp;gt;cmd.exe&amp;lt;/code&amp;gt;;&lt;br /&gt;
# сменить текущую кодовую страницу &amp;lt;code&amp;gt;cmd.exe&amp;lt;/code&amp;gt;;&lt;br /&gt;
# сменить кодировку на стороне клиента в &amp;lt;code&amp;gt;psql&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Конкретные действия ===&lt;br /&gt;
&lt;br /&gt;
Запустить &amp;lt;code&amp;gt;cmd.exe&amp;lt;/code&amp;gt;, нажать мышью в &amp;lt;s&amp;gt;правом&amp;lt;/s&amp;gt; левом верхнем углу окна, там Свойства - Шрифт - выбрать Lucida Console. Нажать ОК.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Psql.console.font.png|center]]&lt;br /&gt;
&lt;br /&gt;
Выполнить команду:&lt;br /&gt;
&lt;br /&gt;
 chcp 1251&lt;br /&gt;
&lt;br /&gt;
В ответ выведет:&lt;br /&gt;
&lt;br /&gt;
 Текущая кодовая страница: 1251&lt;br /&gt;
&lt;br /&gt;
Запустить &amp;lt;code&amp;gt;psql&amp;lt;/code&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
 psql -d ВАШАБАЗА -U ВАШЛОГИН&lt;br /&gt;
&lt;br /&gt;
Кстати, обратите внимание - теперь предупреждения о несовпадении кодировок нет.&lt;br /&gt;
&lt;br /&gt;
Выполнить:&lt;br /&gt;
&lt;br /&gt;
 set client_encoding=&#039;win1251&#039;;&lt;br /&gt;
&lt;br /&gt;
Он выведет:&lt;br /&gt;
&lt;br /&gt;
 SET&lt;br /&gt;
&lt;br /&gt;
Всё, теперь кириллица будет нормально отображаться.&lt;br /&gt;
&lt;br /&gt;
Проверяем:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Psql.codepage.ok.png|center]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:PostgreSQL]]&lt;/div&gt;</summary>
		<author><name>217.71.139.228</name></author>
	</entry>
</feed>