Thread: 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? 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
> 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
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