我有一个Postgres 8.2数据库
表编码: SQL-ASCII 。 (我不能改变这个:()
Xhtml charset:charset = iso-8859-2 。
编码的文件是 ANSII 。 (记事本++)
当我用AJAX(jQuery)显示检索到的数据时,我必须使用 utf8_encode()。当这个数据插入数据库而不是重音字母(öüőűú)时,我看到了这个õ û和其他人。
问题:如何解决此编码问题?
修改 这对我有用:
pg_dump -E LATIN9 alt > alt.sql
createdb -T template0 -E UTF8 new_database
psql -f alt.sql new_database
答案 0 :(得分:1)
我听起来像是在混合utf8编码和html / xml转义。
要重新配置数据库的编码设置,请relevant bits say:
使用initdb初始化PostgreSQL数据库群集时,会选择默认字符集。创建数据库时可以覆盖它,因此您可以拥有多个数据库,每个数据库都有不同的字符集。
CREATE DATABASE name
[ [ WITH ] [ OWNER [=] dbowner ]
[ TEMPLATE [=] template ]
[ ENCODING [=] encoding ]
[ TABLESPACE [=] tablespace ]
[ CONNECTION LIMIT [=] connlimit ] ]
编辑:根据马的名称,您无法更改数据库的编码,因此您可能需要转储架构和数据,相应地编辑转储,并相应地重新创建它。