postgres编码问题

发布于 2024-11-25 20:26:23 字数 505 浏览 1 评论 0原文

我有一个 Postgres 8.2 数据库。
表编码:SQL-ASCII。 (我无法改变这一点:( )
Xhtml 字符集:charset=iso-8859-2
文件编码为ANSII。 (notepad++)

当我使用 AJAX (jQuery) 显示检索到的数据时,我必须使用 utf8_encode()。当将此数据插入数据库时​​,我看到这个 &# 245; 而不是重音字母 (öüőűú) û和其他人。

问题:如何解决这个编码问题?

编辑 这对我有用:

pg_dump -E LATIN9 alt > alt.sql
createdb -T template0 -E UTF8 new_database
psql -f alt.sql new_database

I have a Postgres 8.2 database.
The table encode : SQL-ASCII. (I can't change this :( )
Xhtml charset: charset=iso-8859-2.
The files encode is ANSII. (notepad++)

When I show retrieved data with AJAX (jQuery) I must use utf8_encode(). When this data, insert into database, instead of accent letters (öüőűú) I see this &# 245; &# 251; and others.

Question: How can I solve this encode problem?

EDIT
This work me:

pg_dump -E LATIN9 alt > alt.sql
createdb -T template0 -E UTF8 new_database
psql -f alt.sql new_database

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

顾挽 2024-12-02 20:26:24

我听起来你正在混合 utf8 编码和 html/xml 转义。

要重新配置数据库的编码设置,相关位表示

使用 initdb 初始化 PostgreSQL 数据库集群时选择默认字符集。创建数据库时可以覆盖它,因此您可以拥有多个数据库,每个数据库具有不同的字符集。

以及

CREATE DATABASE name
   [ [ WITH ] [ OWNER [=] dbowner ]
       [ TEMPLATE [=] template ]
       [ ENCODING [=] encoding ]
       [ TABLESPACE [=] tablespace ]
       [ CONNECTION LIMIT [=] connlimit ] ]

编辑:每匹马的名字,你不能改变数据库的编码,因此您可能需要转储架构和数据,相应地编辑转储,然后相应地重新创建它。

I sounds like you're mixing utf8 encoding and html/xml escaping.

To reconfigure the database's encoding setting, the relevant bits say:

The default character set is selected while initializing your PostgreSQL database cluster using initdb. It can be overridden when you create a database, so you can have multiple databases each with a different character set.

As well as:

CREATE DATABASE name
   [ [ WITH ] [ OWNER [=] dbowner ]
       [ TEMPLATE [=] template ]
       [ ENCODING [=] encoding ]
       [ TABLESPACE [=] tablespace ]
       [ CONNECTION LIMIT [=] connlimit ] ]

Edit: per horse's name, you cannot alter the database's encoding, so you may need to dump the schema and data, edit the dump accordingly, and re-create it accordingly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文