Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf3db606

Browse files
committed
> >
> > a) Write documentation how the win32 console needs to be set up so that> > psql can handle 8-bit characters.> > Where should it be added? The Section "Installation on Windows" in the> > Administrator's Guide seems natural to me.> >> > b) Add code to psql that prints a warning on startup of psql when the> > console codepage differs from the windows codepage, something like> >> > Warning: Console codepage (850) differs from windows codepage (1252)> > 8-bit characters will not work correctly. See PostgreSQL> > documentation "Installation on Windows" for details.>Attached are two patches: - installdoc.patch contains an additional paragraph on the win32 console codepage for the chapter "Installation on Windows" Due to a lack of SGML-tools, I have only edited the text and not tested the SGML code - please check it before merging into the CVS branch. - psqlcodepage.patch adds the warning about a problematic codepage to psql.Christoph Dalitz
1 parenta17b537 commitf3db606

File tree

2 files changed

+60
-2
lines changed

2 files changed

+60
-2
lines changed

‎doc/src/sgml/install-win32.sgml

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!--
2-
$Header: /cvsroot/pgsql/doc/src/sgml/install-win32.sgml,v 1.12 2003/09/29 18:18:35 momjian Exp $
2+
$Header: /cvsroot/pgsql/doc/src/sgml/install-win32.sgml,v 1.13 2003/09/29 18:21:33 momjian Exp $
33
-->
44

55
<chapter id="install-win32">
@@ -107,6 +107,33 @@ $Header: /cvsroot/pgsql/doc/src/sgml/install-win32.sgml,v 1.12 2003/09/29 18:18:
107107
C++, just right-click on the project and choose to add it.)
108108
</para>
109109

110+
<para>
111+
<application>psql</application> is compiled as a "console application". As
112+
the win32 console windows use a different encoding than the rest of the
113+
system, you must take special care when using 8-bit characaters (eg. german
114+
Umlauts) at the <application>psql</application> prompt. When
115+
<application>psql</application> detects a problematic console codepage, it
116+
will warn you at startup. To change the console codepage, two things are
117+
neccessary:
118+
119+
<variablelist>
120+
<varlistentry>
121+
<listitem>
122+
Set the codepage with <userinput>cmd.exe /c chcp 1252</userinput>
123+
(1252 is the german value, replace it with your value). If you are using
124+
cygwin, you can put this command in <filename>/etc/profile</filename>.
125+
</listitem>
126+
</varlistentry>
127+
<varlistentry>
128+
<listitem>
129+
Set the console font to "Lucida Console", because the raster font
130+
does not work with the ANSI codepage.
131+
</listitem>
132+
</varlistentry>
133+
</variablelist>
134+
135+
</para>
136+
110137
</chapter>
111138

112139
<!-- Keep this comment at the end of the file

‎src/bin/psql/startup.c

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*
44
* Copyright (c) 2000-2003, PostgreSQL Global Development Group
55
*
6-
* $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.79 2003/08/0721:11:58 tgl Exp $
6+
* $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.80 2003/09/29 18:21:33 momjian Exp $
77
*/
88
#include"postgres_fe.h"
99

@@ -80,6 +80,10 @@ static void showVersion(void);
8080
staticvoidprintSSLInfo(void);
8181
#endif
8282

83+
#ifdefWIN32
84+
staticvoid
85+
checkWin32Codepage(void);
86+
#endif
8387

8488
/*
8589
*
@@ -269,6 +273,9 @@ main(int argc, char *argv[])
269273
pset.progname,PG_VERSION);
270274
#ifdefUSE_SSL
271275
printSSLInfo();
276+
#endif
277+
#ifdefWIN32
278+
checkWin32Codepage();
272279
#endif
273280
}
274281

@@ -621,3 +628,27 @@ printSSLInfo(void)
621628
}
622629

623630
#endif
631+
632+
633+
634+
/*
635+
* checkWin32Codepage
636+
*
637+
* Prints a warning when win32 console codepage differs from Windows codepage
638+
*/
639+
#ifdefWIN32
640+
staticvoid
641+
checkWin32Codepage(void)
642+
{
643+
unsignedintwincp,concp;
644+
645+
wincp=GetACP();
646+
concp=GetConsoleCP();
647+
if (wincp!=concp) {
648+
printf("Warning: Console codepage (%u) differs from windows codepage (%u)\n"
649+
" 8-bit characters will not work correctly. See PostgreSQL\n"
650+
" documentation \"Installation on Windows\" for details.\n\n",
651+
concp,wincp);
652+
}
653+
}
654+
#endif

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp