Re: Unicode UTF-8 table formatting for psql text output
Roger Leigh <rleigh@codelibre.net>
From: Roger Leigh <rleigh@codelibre.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Peter Eisentraut <peter_e@gmx.net>, "Brad T. Sliger" <brad@sliger.org>, Andrew Dunstan <andrew@dunslane.net>, pgsql-hackers@postgresql.org, Robert Haas <robertmhaas@gmail.com>, Selena Deckelmann <selenamarie@gmail.com>, Alvaro Herrera <alvherre@commandprompt.com>, Roger Leigh <rleigh@debian.org>
Date: 2009-10-06T18:35:03Z
Lists: pgsql-hackers
Attachments
- psql-utf8-table-9.patch (text/x-diff) patch
On Tue, Oct 06, 2009 at 10:44:27AM +0100, Roger Leigh wrote: > On Mon, Oct 05, 2009 at 04:32:08PM -0400, Tom Lane wrote: > > Roger Leigh <rleigh@codelibre.net> writes: > > > On Sun, Oct 04, 2009 at 11:22:27PM +0300, Peter Eisentraut wrote: > > >> Elsewhere in the psql code, notably in mbprint.c, we make the decision > > >> on whether to apply certain Unicode-aware processing based on whether > > >> the client encoding is UTF8. The same should be done here. > > >> > > >> There is a patch somewhere in the pipeline that would automatically set > > >> the psql client encoding to whatever the locale says, but until that is > > >> done, the client encoding should be the sole setting that rules what > > >> kind of character set processing is done on the client side. > > > > > OK, that makes sense to a certain extent. However, the characters > > > used to draw the table lines are not really that related to the > > > client encoding for data sent from the database (IMHO). > > > > Huh? The data *in* the table is going to be in the client_encoding, and > > psql contains no mechanisms that would translate it to something else. > > Surrounding it with decoration in a different encoding is just a recipe > > for breakage. > > Ah, I was under the mistaken assumption that this was iconv()ed or > otherwise translated for correct display. In that case, I'll leave > the patch as is (using the client encoding for table lines). > > I've attached an updated copy of the patch (it just removes the > now unneeded langinfo.h header). This patch included a bit of code not intended for inclusion (setting of client encoding based on locale), which the attached (and hopefully final!) revision of the patch excludes. Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `- GPG Public Key: 0x25BFB848 Please GPG sign your mail.