in reply to
DBD::Pg encodes Perlstring to UTF-8 bytes instead of WIN1252 regardless client encoding
I am not an expert when it comes to DBD::Pg, but my understanding is that client encoding and the table encoding do not have to agree. You pass strings in the client encoding (UTF-8) to DBD::Pg, or if you have pg_enable_utf8 set to 1, you simply pass in text strings.
According to the docs, Postgres automatically recodes from table to client encoding and vice versa if you tell it to use a specific client encoding. So it should be pretty transparent.