If we're bringing up odd encoding issues, why not talk about the mystery
encoding of the shared catalogs? :)
Basically depending on which database you're logged into when you alter
a catalog will affect what encoding the new object appears as in the
shared catalog.
This for one makes it impossible for us in phpPgAdmin to display a list
of databases, where some database names are in EUC and some are in UTF-8
and some are in LATIN5...
I bring it up as I notice that in MySQL 5 at least, all system object
names (in our case that'd be all strings in the shared catalogs) are
stored in UTF-8, always.
Chris
Gavin Sherry wrote:
Hi all,
Here's another interesting encoding issue. I cannot recall having seen it
on the lists.
---
[EMAIL PROTECTED] build7]$ bin/createdb -E LATIN1 test
CREATE DATABASE
[EMAIL PROTECTED] build7]$ cat break.sh
dat=`echo -en "\245\241"`
echo "create table test (d text);"
echo "insert into test values('$dat');"
[EMAIL PROTECTED] build7]$ sh break.sh | bin/psql test
CREATE TABLE
INSERT 0 1
[EMAIL PROTECTED] build7]$ bin/createdb -T test test2
CREATE DATABASE
[EMAIL PROTECTED] build7]$ bin/createdb -T test -E UTF-8 test2
CREATE DATABASE
[EMAIL PROTECTED] build7]$ bin/pg_dump -C test2 > test2.dmp
[EMAIL PROTECTED] build7]$ bin/dropdb test2
DROP DATABASE
[EMAIL PROTECTED] build7]$ bin/psql template1 -f test2.dmp
SET
SET
SET
CREATE DATABASE
ALTER DATABASE
You are now connected to database "test2".
[...]
CREATE TABLE
ALTER TABLE
psql:test2.dmp:345: ERROR: invalid UTF-8 byte sequence detected near byte
0xa5
CONTEXT: COPY test, line 1, column d: " "
[...]
---
Until createdb() is a lot more sophisticated, we cannot translate
characters between encodings. I don't think this is a huge issue though,
as most people are only going to be creating empty databases anyway.
Still, it probably requires documentation.
Thoughts?
Thanks,
Gavin
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings