1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-30 11:03:19 +03:00
> >  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
This commit is contained in:
Bruce Momjian
2003-09-29 18:21:33 +00:00
parent a17b53753e
commit f3db606592
2 changed files with 60 additions and 2 deletions

View File

@ -3,7 +3,7 @@
*
* Copyright (c) 2000-2003, PostgreSQL Global Development Group
*
* $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.79 2003/08/07 21:11:58 tgl Exp $
* $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.80 2003/09/29 18:21:33 momjian Exp $
*/
#include "postgres_fe.h"
@ -80,6 +80,10 @@ static void showVersion(void);
static void printSSLInfo(void);
#endif
#ifdef WIN32
static void
checkWin32Codepage(void);
#endif
/*
*
@ -269,6 +273,9 @@ main(int argc, char *argv[])
pset.progname, PG_VERSION);
#ifdef USE_SSL
printSSLInfo();
#endif
#ifdef WIN32
checkWin32Codepage();
#endif
}
@ -621,3 +628,27 @@ printSSLInfo(void)
}
#endif
/*
* checkWin32Codepage
*
* Prints a warning when win32 console codepage differs from Windows codepage
*/
#ifdef WIN32
static void
checkWin32Codepage(void)
{
unsigned int wincp, concp;
wincp = GetACP();
concp = GetConsoleCP();
if (wincp != concp) {
printf("Warning: Console codepage (%u) differs from windows codepage (%u)\n"
" 8-bit characters will not work correctly. See PostgreSQL\n"
" documentation \"Installation on Windows\" for details.\n\n",
concp, wincp);
}
}
#endif