Обсуждение: windows 1252 encoding

Поиск
Список
Период
Сортировка

windows 1252 encoding

От
Andrei Gaspar
Дата:
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


Re: windows 1252 encoding

От
"Magnus Hagander"
Дата:
> 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

Re: windows 1252 encoding

От
Andrei Gaspar
Дата:

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