Thread: UTF8 should be accepted as UNICODE

UTF8 should be accepted as UNICODE

From
Ivo Danihelka
Date:
The Postgresql JDBC driver does not accept this statement:
SET client_encoding = 'UTF8';

It fails with:
"org.postgresql.util.PSQLException: The server's client_encoding
parameter was changed to UTF8. The JDBC driver requires client_encoding
to be UNICODE for correct operation."

I consider that to be a bug. The UNICODE is an alias for UTF8.

Starting from 8.2, the pg_dump exports 'UTF8'
even when --encoding=UNICODE is used.
See:
$ pg_dump --version
pg_dump (PostgreSQL) 8.2.6
$ pg_dump --encoding=UNICODE template1 | grep client_encoding
SET client_encoding = 'UTF8';


The check for value.equals('UNICODE') is inside
org/postgresql/core/v3/QueryExecutorImpl.java

Thanks for the driver,
--
Ivo Danihelka


Re: UTF8 should be accepted as UNICODE

From
Dave Cramer
Date:
Ivo,

What it's actually telling you is that you shouldn't attempt to change
it.

It's already set to UNICODE

But it should probably ignore your attempt, since it has no effect.

Dave
On 22-Feb-08, at 9:08 AM, Ivo Danihelka wrote:

> The Postgresql JDBC driver does not accept this statement:
> SET client_encoding = 'UTF8';
>
> It fails with:
> "org.postgresql.util.PSQLException: The server's client_encoding
> parameter was changed to UTF8. The JDBC driver requires
> client_encoding
> to be UNICODE for correct operation."
>
> I consider that to be a bug. The UNICODE is an alias for UTF8.
>
> Starting from 8.2, the pg_dump exports 'UTF8'
> even when --encoding=UNICODE is used.
> See:
> $ pg_dump --version
> pg_dump (PostgreSQL) 8.2.6
> $ pg_dump --encoding=UNICODE template1 | grep client_encoding
> SET client_encoding = 'UTF8';
>
>
> The check for value.equals('UNICODE') is inside
> org/postgresql/core/v3/QueryExecutorImpl.java
>
> Thanks for the driver,
> --
> Ivo Danihelka
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 6: explain analyze is your friend


Re: UTF8 should be accepted as UNICODE

From
Kris Jurka
Date:

On Fri, 22 Feb 2008, Dave Cramer wrote:

> But it should probably ignore your attempt, since it has no effect.
>

The problem is that there are a lot of potential aliases to check, "SET
client_encoding = 'UTF   --   8'".  We could try to normalize it and then
check it, but I don't think it's worth it.

Kris Jurka