Thread: Could not convert UTF-8 character to ISO8859-1?
I am trying to copy data from a MSSQL srv to PGSQL srv 8 using Delphi under Windows... But I just keep getting this error... Why? (My PGSQL server is using LATIN1) And how do I get around this? BTW; I see in the log for my PGSQL server that someone is setting Client encoding to UTF-8, but I am not... Is this some default setting in pgodbc or? I can't find any place to change this value.... Regards, BTJ -- ----------------------------------------------------------------------------------------------- Bjørn T Johansen btj@havleik.no ----------------------------------------------------------------------------------------------- Someone wrote: "I understand that if you play a Windows CD backwards you hear strange Satanic messages" To which someone replied: "It's even worse than that; play it forwards and it installs Windows" -----------------------------------------------------------------------------------------------
As far as I know, UTF-8 is the standard encoding used by MSSQL.
ISO8859-1 is LATIN1, so the system is trying to convert (as the error message says) from utf-8 (SqlServer) to ISO8859-1 ( LATIN1 ).
So I think you have to search on the MSSQL side, not PostgreSql...
You can also use UNICODE encoding on postgres, creating your DB with CREATE DATABASE mydb ENCODING='UNICODE';
Hope this will give you some hints to solve the problem
Regards,
Roberto
Bjørn T Johansen wrote:
ISO8859-1 is LATIN1, so the system is trying to convert (as the error message says) from utf-8 (SqlServer) to ISO8859-1 ( LATIN1 ).
So I think you have to search on the MSSQL side, not PostgreSql...
You can also use UNICODE encoding on postgres, creating your DB with CREATE DATABASE mydb ENCODING='UNICODE';
Hope this will give you some hints to solve the problem
Regards,
Roberto
Bjørn T Johansen wrote:
I am trying to copy data from a MSSQL srv to PGSQL srv 8 using Delphi under Windows... But I just keep getting this error... Why? (My PGSQL server is using LATIN1) And how do I get around this? BTW; I see in the log for my PGSQL server that someone is setting Client encoding to UTF-8, but I am not... Is this some default setting in pgodbc or? I can't find any place to change this value.... Regards, BTJ
I don't think you are correct... UTF-8 might be default on MSSQL, but it is the ODBC connection to PGSQL that sets the client encoding to UTF-8... (I.e. when I just connect to the PGSQL server, I get a statement in the PG log file that says "set client_encoding to 'UTF8'.. And I don't want to use UNICODE on my PG Server.... BTJ Ropel wrote: > As far as I know, UTF-8 is the standard encoding used by MSSQL. > ISO8859-1 /_is_ /LATIN1, so the system is trying to convert (as the > error message says) from utf-8 (SqlServer) to ISO8859-1 ( LATIN1 ). > > So I think you have to search on the MSSQL side, not PostgreSql... > > You can also use UNICODE encoding on postgres, creating your DB with > CREATE DATABASE mydb ENCODING='UNICODE'; > > Hope this will give you some hints to solve the problem > > Regards, > Roberto > > > Bjørn T Johansen wrote: > >>I am trying to copy data from a MSSQL srv to PGSQL srv 8 using Delphi under Windows... But >>I just keep getting this error... Why? (My PGSQL server is using LATIN1) >>And how do I get around this? >> >>BTW; I see in the log for my PGSQL server that someone is setting Client encoding to >>UTF-8, but I am not... Is this some default setting in pgodbc or? I can't find any place >>to change this value.... >> >> >>Regards, >> >>BTJ >> >> >> >
On Jul 24, 2005, at 1:52 PM, Bjørn T Johansen wrote: > I don't think you are correct... UTF-8 might be default on MSSQL, > but it is the ODBC > connection to PGSQL that sets the client encoding to UTF-8... (I.e. > when I just connect to > the PGSQL server, I get a statement in the PG log file that says > "set client_encoding to > 'UTF8'.. > > And I don't want to use UNICODE on my PG Server.... After you login try executing "SET client_encoding TO LATIN1" I don't use ODBC so I don't know if this will mess things up, but it might be worth a try. John DeSoi, Ph.D. http://pgedit.com/ Power Tools for PostgreSQL
Yes, that did the trick... I tried to execute the same statement at the same time as I did the insert, but it needed to be in a separate statement.... Thx.... :) BTJ John DeSoi wrote: > > On Jul 24, 2005, at 1:52 PM, Bjørn T Johansen wrote: > >> I don't think you are correct... UTF-8 might be default on MSSQL, but >> it is the ODBC >> connection to PGSQL that sets the client encoding to UTF-8... (I.e. >> when I just connect to >> the PGSQL server, I get a statement in the PG log file that says "set >> client_encoding to >> 'UTF8'.. >> >> And I don't want to use UNICODE on my PG Server.... > > > > After you login try executing "SET client_encoding TO LATIN1" > > I don't use ODBC so I don't know if this will mess things up, but it > might be worth a try. > > > John DeSoi, Ph.D. > http://pgedit.com/ > Power Tools for PostgreSQL >