Re: Encoding Issue with UNICODE - Mailing list pgsql-general

From fritz-bayer@web.de (Fritz Bayer)
Subject Re: Encoding Issue with UNICODE
Date
Msg-id a9c0aa9e.0504120239.31b72c39@posting.google.com
Whole thread Raw
In response to Encoding Issue with UNICODE  (fritz-bayer@web.de (Fritz Bayer))
Responses Re: Encoding Issue with UNICODE
Re: Encoding Issue with UNICODE
List pgsql-general
daniel@manitou-mail.org ("Daniel Verite") wrote in message news:<20050411035003.3592776@localhost>...
> Fritz Bayer wrote:
>
> > I have a java program, which writes words containing german umlauts
> > like äöü into the database. As you probably know, those characters
> > belong to the ISO-8859-1 character encoding set.
> >
> > In my java webapplication those umlauts (äöü) get displayed correctly.
> > So they actually get stored correctly in the database.
> >
> > However, when I use postgresql's psql client I those characters get
> > displayed incorretly.
> >
> > For example the city name "münchen" gets displayed as "mÃ?nchen". Not
> > so in my webapplication. There the city name in the HTML code appears
> > corretly as "münchen".
> >
> > So why is psql not displaying the unicode characters correclty? Or
> > could it be that my xterm can not handle unicode characters?
>
> From your description it really looks like the latter. You can issue
> \encoding latin1
> inside psql
>

Thanks for you help. Now I undestand. It's true somehow my terminal
does not handle unicode characters.

After I entered "\encoding latin1" as you suggested everything works
fine. So the answer is that without that unicode characters get
displayed.

But in which encoding? I guess utf8 or utf16...

But why doesn that fail only for äüö? Shouldn't any other letter
encoded in utf16 also fail?

I mean unicode itself is 16 bit long. So "münchen" should expand to 14
characters. But only ü expands to two characters.

> or you can also set the PGCLIENTENCODING environment variable to latin1
> before launching psql on non-unicode aware terminals.
>
> > Can somebody help me out here? Should I create the databases as LATIN1
> > instead of UNICODE? And how can I transform my current databases into
> > LATIN1 ones? They should be compatible, because all characters I use
> > are only äöü, which are downward compatible.
>
> But then you'll have trouble with your java app if you do that. Java works with
> unicode strings, so it makes sense to have the db contents in unicode as well.

No thats ok. Java communicates with psql using unicode only. That's
why it also worked...

pgsql-general by date:

Previous
From: Bill Chandler
Date:
Subject: Re: Unique constraint violation on serial column
Next
From: "None"
Date:
Subject: Re: Asyncron replication from wan to lan with PostgreSQL 8