postgre SQL数据库怎样设置字符集
来源:互联网 发布:windows Linux pyqt 编辑:程序博客网 时间:2024/05/17 23:22
要想打开自动字符集转换功能,你必须告诉 PostgreSQL 你想在客户端使用的字符集(编码)。你可以用好几种方法实现这个目的。
-
用 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 是不明智的。
- postgre SQL数据库怎样设置字符集
- postgre数据库字符集和编码转换
- postgre SQL数据库的操作
- PostGre SQL数据库操作函数(转)
- Postgre SQL 数据库将迎来崛起时刻
- postgre数据库
- 怎样为Eclipse设置字符集
- oracle数据库字符集设置
- PowerDesigner怎样设置列的字符集
- 怎样察看oracle数据库的字符集
- 设置PL/SQL Developer 字符集
- 设置PL/SQL Developer 字符集
- 设置PL/SQL Developer 字符集
- 设置PL/SQL Developer 字符集
- PL/SQL developer设置字符集
- C#连接Postgre SQL
- postgre sql笔记
- postgre sql 类型转换
- 项目经理小手册
- 如何管理 MySQL 的 binlog
- 利用ajax.dll进行Ajax的开发
- 抽象工厂模式
- 让你遨游职场的十句话
- postgre SQL数据库怎样设置字符集
- 工厂方法模式和抽象工厂模式之比较
- 同步与异步传输的区别
- vs2008 beta2简体中文版发布
- 请放开你解女孩衣服的手
- ASP调用存储过程详解。
- 巨强签名档
- 习惯的力量惊人:35岁前成功必备的9大习惯
- 小菜鸟的学习之路!