Thanks for your support. Best regards, Tsubasa Sakamoto > -----Original Message----- > From: Albe Laurenz [mailto:laurenz.albe@xxxxxxxxxx] > Sent: Friday, February 07, 2014 6:12 PM > To: Tsubasa Sakamoto *EXTERN*; 'Adrian Klaver' > Cc: pgsql-general@xxxxxxxxxxxxxx; pgsql-hackers@xxxxxxxxxxxxxx > Subject: RE: client encoding that psql command sets > > [CC'ed -hackers] > > Tsubasa Sakamoto wrote: > >> Not sure that it makes a difference but the docs say psql looks at > >> LC_CTYPE not LANG for Unix systems. You did not say what OS you are > >> working on though from the examples I am guessing some form of Unix. > > > The LC_CTYPE environment variable was set up and re-verified. > > The result of psql command is following. > > > > [Result] > > % setenv LC_CTYPE ja_JP.eucJP > > > > % psql postgres -f test.txt -o result.txt EUC_JP > > > > % psql postgres -f test.txt > result.txt > > UTF8 > > > > % psql postgres -o result.txt < test.txt > > UTF8 > > > > % psql postgres < test.txt > result.txt > > UTF8 > > > > Even when a LC_CTYPE environment variable was set up, the result did not > change. > > What do you think? > > I think that the documentation contradicts the code. > > In bin/psql/settings.h: > > typedef struct _psqlSettings > { > [...] > bool notty; /* stdin or stdout is not a tty (as > determined > * on startup) */ [...] } PsqlSettings; > > extern PsqlSettings pset; > > In bin/psql/command.c and bin/psql/startup.c: > > keywords[6] = "client_encoding"; > values[6] = (pset.notty || getenv("PGCLIENTENCODING")) ? NULL : > "auto"; > > That matches your observations: client_encoding=auto is only used if both > stdin and stdout are attached to a tty. > > I suggest the attached documentation fix. > > Yours, > Laurenz Albe -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general