网站建设资讯

NEWS

网站建设资讯

包含postgresql编码的词条

如何修改postgresql数据库字符集

要想打开自动字符集转换功能,你必须告诉 PostgreSQL 你想在客户端使用的字符集(编码)。你可以用好几种方法实现这个目的。

创新互联主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、响应式网站开发、程序开发、网站优化、微网站、小程序定制开发等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的做网站、网站建设、网站设计、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体。

用 psql 里的 /encoding 命令。 /encoding 允许你动态修改客户端编码。 比如,把编码改变为 SJIS,键入:

/encoding SJIS

使用 libpq 函数。 /encoding 在做此用途的时候实际上是调用 PQsetClientEncoding()。

int PQsetClientEncoding(PGconn *conn, const char *encoding);

这里 conn 与后端的联接,而 encoding 是你想用的编码。如果编码设置成功它返回 0,否则返回 -1。本次联接的当前编码可以用下面函数显示:

int PQclientEncoding(const PGconn *conn);

请注意它只返回编码 ID,而不是象 EUC_JP 这样的编码符号字串。 要把编码 ID 转换为编码符号,你可以用:

char *pg_encoding_to_char(int encoding_id);

使用 SET client_encoding TO。 可以用 SQL 命令设置客户端编码:

SET CLIENT_ENCODING TO 'value';

你还可以把 SQL 语法里的 SET NAMES用于这个目的:

SET NAMES 'value';

查询当前客户端编码:

SHOW client_encoding;

返回缺省编码:

RESET client_encoding;

使用 PGCLIENTENCODING。 如果在客户端的环境里定义了 PGCLIENTENCODING 环境变量, 那么在与服务器进行联接时将自动选择客户端编码。 (这个编码随后可以用上面谈到的任何其它方法覆盖。)

使用client_encoding配置变量。 如果在 postgresql.conf 里设置了 client_encoding 变量, 那么在与服务器建立了联接之后,这个客户端编码将自动选定。(这个设置随后可以被上面提到 的其他方法覆盖。)

假如无法进行特定的字符转换 — 比如, 你选的服务器编码是EUC_JP, 客户端是LATIN1,那么有些日文字符不能转换成LATIN1。这时, 不能用LATIN1字符集表示的字母将被转换成圆括弧包围的十六进制,像,(826C) 这样。

如果客户端字符集定义成了 SQL_ASCII,那么编码转换会被关闭, 不管服务器的字符集是什么都一样。和服务器一样,除非你的工作环境全部是 ASCII 数据, 否则使用 SQL_ASCII 是不明智的。

如何向PostgreSql中插入UNICODE字符

如果您已知字符代码,则可以直接在“字符代码”框中键入字符代码,以查找 Unicode 字符。显示在“字符代码”框前面的名称是使用 Unicode 3.0 标准的正式字符名称。单击要插入 Unicode 字符的位置。 在“插入”菜单上,单击“符号”,再单击“符号”选项卡。 在“字体”框中,单击所需的字体。 在“来自”框中,单击“Unicode”。

如果在“来自”框中,选中其他项,而不是选中 Unicode,则字符集受到限制。例如,如果选择本地代码页,而不是 Unicode,则在“符号”对话框中的字符集将相应的减少。如果“子集”框可用,请单击所需的子类别。 双击要插入的符号。 单击“关闭”。

为什么我的PostgreSQL不能选择Unicode作为编码方式

在PostgreSQL中,"UNICODE" 意味着 "UTF8"。

Windows无法正确支持UTF8,所以在8.0版中不可用。安装程序将允许您选择您的Windows以及PostgreSQL服务器同时支持的编码方式。

Aleksander Kmetec在pgsql-hackers邮件列表的一次发言解释了Unicode问题:

由于Postgres的一些串处理相关函数依赖于操作系统,操作系统必须支持数据库所使用的编码方式。不幸的是,Windows不支持部分PG能使用的服务器端编码。

怎样让postgresql创建数据库时默认为UTF8编码

新建一个模板,比如 template_utf8 ,设置好UTF-8以及plpgsql之类的lang还有插件,从这个数据库新建就全是UFT-8了。

如果是更改的话,需要先把数据库导出为SQL, 再新建,而后导入。导入前,修改SQL里的create 语句,指定字符集。有汉字的话,另存为UTF-8的编码,再导入。


当前名称:包含postgresql编码的词条
文章位置:http://cdweb.net/article/dscccjo.html