windows 1252 encoding

Started by Andrei Gasparalmost 21 years ago3 messagesgeneral
Jump to latest
#1Andrei Gaspar
andi@softnrg.dnttm.ro

Is there a reason that the windows code page 1252 is not supported?
The encoding Latin1 would be the most appropriate, but 1252 is a
superset of ISO8859-1 and supports more characters, and when I want to
write them through odbc I get an error.
psqlodbc 8 converts everything to utf-8 and then sends it to the server.
I have a database with Latin1 encoding, the windows client code page is
1252 and for some characters I get

could not convert UTF-8 character 0x00e2 to ISO8859-1

A solution would be to use the UNICODE encoding in the database, but I
have read that it's not safe on windows.

So, any ideas?

Andrei

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.11.9 - Release Date: 5/12/2005

#2Magnus Hagander
magnus@hagander.net
In reply to: Andrei Gaspar (#1)
Re: windows 1252 encoding

Is there a reason that the windows code page 1252 is not supported?
The encoding Latin1 would be the most appropriate, but 1252
is a superset of ISO8859-1 and supports more characters, and
when I want to write them through odbc I get an error.
psqlodbc 8 converts everything to utf-8 and then sends it to
the server.
I have a database with Latin1 encoding, the windows client
code page is
1252 and for some characters I get

could not convert UTF-8 character 0x00e2 to ISO8859-1

A solution would be to use the UNICODE encoding in the
database, but I have read that it's not safe on windows.

So, any ideas?

This sounds like your client encoding is set to UTF-8. Try setting it to
LATIN1 as well (\encoding in psql).

//Magnus

#3Andrei Gaspar
andi@softnrg.dnttm.ro
In reply to: Magnus Hagander (#2)
Re: windows 1252 encoding

Magnus Hagander wrote:

Is there a reason that the windows code page 1252 is not supported?
The encoding Latin1 would be the most appropriate, but 1252
is a superset of ISO8859-1 and supports more characters, and
when I want to write them through odbc I get an error.
psqlodbc 8 converts everything to utf-8 and then sends it to
the server.
I have a database with Latin1 encoding, the windows client
code page is
1252 and for some characters I get

could not convert UTF-8 character 0x00e2 to ISO8859-1

A solution would be to use the UNICODE encoding in the
database, but I have read that it's not safe on windows.

So, any ideas?

This sounds like your client encoding is set to UTF-8. Try setting it to
LATIN1 as well (\encoding in psql).

thanks for the reply
The ODBC (8.0.1.1) sets the encoding to utf8, and converts everything
back and forth.
The problem still remains, how are the extra characters in 1252 treated
by the server with LATIN1 encoding?
The error message is a little missleading, it's a character that is
represented on 3 bytes, the first one is 0xe2.

Andrei

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.11.9 - Release Date: 5/12/2005