Mark Morgan Lloyd  wrote / napĂ­sal(a):
Andrew Brunner wrote:
My cloud file/folder sync client desktop app builds and maintains a manifest of all files and folders from a specified starting point. I use this manifest to synchronize disk entries across devices. It uses HTTP requests and XML to carry out all transactions. Meaning there is no TSQLConnection. The problem is that the HTTP server receives the data as XML and refuses to post changes. If data (in updates or inserts) contains non-supported UTF8 characters postgresql rejects with character encoding notices.

I've tried with using AnsiToUTF8 and UTF8toAnsi. That works for email messages. However, since sync code has to scan tens of thousands of disk files/folders I don't think it's good for battery and memory consumption for a background app to consume cpu resources in this case going between 2 forms of the same file/folder name.

I need to be able to take advantage of Postgresql's client encoding method. I know postgresql allows me to tell the server that the connection is presently character set "LATIN1". And presumably postgresql server will convert what it needs to my database encoding of UTF8.

<snip>
SystemP^.Connection.Charset:='LATIN1';

This does nothing for me when Connection is a postgresql connection.

Anyone have any experience with postgresql character sets / encoding???

No, but I'm interested since this is something that I anticipate having to do.

You might need to issue an explicit instruction to the PostgreSQL server telling it to assume that the current session is encoded as /whatever/. If you have to do that then you might find yourself having to use the PQConnection's (or whatever the correct name is) low-level handle, since working from memory the .Exec method uses a temporary handle so any state change isn't retained. I had to delve into this when getting listen/notify running reliably.

Do you have tried SQL:  SET CLIENT_ENCODING TO 'LATIN1' ?
May be that better would be add support for PQsetClientEncoding into TPQConnection ... I can look at it if you want.
-Laco.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to