Thread: UTF8 Vs Latin9 and valid encoding.

UTF8 Vs Latin9 and valid encoding.

From
"Marcelo ."
Date:
Hello,
I am using postgres 8.1 for windows and have the
following dilema.

I have 2 databases, one encoded in UTF-8 and one in
Latin9.
In both DBs I can create the following test table:

CREATE TABLE "holaniño"
( nombre varchar(5), "titúlo" varchar(10)
) 
WITHOUT OIDS;

Then in both DBs I can execute the following SQL:

select * from holaniño where titúlo = 'compania'

HOWEVER, when I change the SQL to:
select * from holaniño where titúlo = "compañia"

(changed the N to a Ñ in the filter)
I receive the error msg:
ERROR:  invalid UTF-8 byte sequence detected near byte
0xf1

Where in the LATIN9 db, there is no problem.

Isn't UTF-8 the same as UNICODE where it encapsulates
all other coding schemes including latin9?

Any insight would be greatly apreciated.





__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Re: UTF8 Vs Latin9 and valid encoding.

From
Markus Schaber
Date:
Hi, Marcelo,

Marcelo . wrote:

> I receive the error msg:
> ERROR:  invalid UTF-8 byte sequence detected near byte
> 0xf1
> 
> Isn't UTF-8 the same as UNICODE where it encapsulates
> all other coding schemes including latin9?

Yes, it is.

But it seems that your client and the server disagree on the encoding
they use.

I think the problem is that your client (psql, I presume) uses latin9 to
communicate with the server, but the server assumes the client uses utf8.

in psql, you can use \encoding to show the encoding psql uses, and "show
client_encoding;" to show the encoding the server thinks the client uses.

Try one of:

SET client_encoding TO LATIN9; -- Tell server: client uses latin9

\encoding LATIN9; -- Set clients encoding

You can also set UTF-8 here, the server will convert between the client
and database encoding (but it needs to know).

HTH,
Markus



-- 
Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf.     | Software Development GIS

Fight against software patents in EU! www.ffii.org www.nosoftwarepatents.org


Re: UTF8 Vs Latin9 and valid encoding.

From
"Marcelo ."
Date:
Hello,
Thanks for your reply.
When I execute   show client_encoding;
I get UNICODE.

However, up to know I was using pgAdmin III Query and
EMS... you gave me the idea to use psql, where I
noticed something interesting:

\encoding
UTF8

show client_encoding;
UTF8

So this seems to be OK..
However when I type áéíóúñ on screen I see ßØ«·±
Why would this be?

Thanks again


--- Markus Schaber <schabi@logix-tt.com> wrote:

> Hi, Marcelo,
> 
> Marcelo . wrote:
> 
> > I receive the error msg:
> > ERROR:  invalid UTF-8 byte sequence detected near
> byte
> > 0xf1
> > 
> > Isn't UTF-8 the same as UNICODE where it
> encapsulates
> > all other coding schemes including latin9?
> 
> Yes, it is.
> 
> But it seems that your client and the server
> disagree on the encoding
> they use.
> 
> I think the problem is that your client (psql, I
> presume) uses latin9 to
> communicate with the server, but the server assumes
> the client uses utf8.
> 
> in psql, you can use \encoding to show the encoding
> psql uses, and "show
> client_encoding;" to show the encoding the server
> thinks the client uses.
> 
> Try one of:
> 
> SET client_encoding TO LATIN9; -- Tell server:
> client uses latin9
> 
> \encoding LATIN9; -- Set clients encoding
> 
> You can also set UTF-8 here, the server will convert
> between the client
> and database encoding (but it needs to know).
> 
> HTH,
> Markus
> 
> 
> 
> -- 
> Markus Schaber | Logical Tracking&Tracing
> International AG
> Dipl. Inf.     | Software Development GIS
> 
> Fight against software patents in EU! www.ffii.org
> www.nosoftwarepatents.org
> 
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please
> send an appropriate
>        subscribe-nomail command to
> majordomo@postgresql.org so that your
>        message can get through to the mailing list
> cleanly
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com