--- sql2xls.cgi 2008/11/06 10:37:17 22 +++ sql2xls.cgi 2008/11/06 10:49:02 23 @@ -124,7 +124,15 @@ my $database = shift || return; print STDERR "## connect to $database\n" if $debug; $dbh = DBI->connect($dsn . $database,$user,$passwd, { RaiseError => 1, AutoCommit => 0 }) || die $DBI::errstr; - $dbh->do( qq{ set names '$db_encoding'; } ) if $db_encoding && $dsn =~ m{mysql}; + if ( $db_encoding ) { + if ( $dsn =~ m{Pg} ) { + $dbh->do( qq{ set client_encoding = '$db_encoding'; } ); + } elsif ( $dsn =~ m{mysql} ) { + $dbh->do( qq{ set names '$db_encoding'; } ); + } else { + warn "Don't know how to set encoding to $db_encoding for $dsn"; + } + } } use_database( $database );