专业柳州网站建设哪家便宜,面料 做网站,app企业网站,可做百科资料参考的网站目录
设置字符集
1 设置集群默认的字符集编码
2 设置数据库的字符集编码
查看字符集
1 查看数据字符集编码
2 查看服务端字符集
3 查看客户端字符集
4 查看默认的排序规则和字符分类 被支持的字符集 PostgreSQL里面的字符集支持你能够以各种字符集存储文本#xff0c…目录
设置字符集
1 设置集群默认的字符集编码
2 设置数据库的字符集编码
查看字符集
1 查看数据字符集编码
2 查看服务端字符集
3 查看客户端字符集
4 查看默认的排序规则和字符分类 被支持的字符集 PostgreSQL里面的字符集支持你能够以各种字符集存储文本包括单字节字符集比如 ISO 8859 系列以及多字节字符集 比如EUC扩展 Unix 编码 Extended Unix Code、UTF-8 和 Mule 内部编码。所有被支持的字符集都可以被客户端透明地使用但少数只能在服务器上使用即作为一种服务器方编码。默认的字符集是在使用 initdb初始化你的PostgreSQL数据库集簇时选择的。在你创建一个数据库时可以重载它因此你可能会有多个数据库并且每一个使用不同的字符集。
但是一个重要的限制是每个数据库的字符集必须和数据库的LC_CTYPE 字符分类和LC_COLLATE 字符串排序顺序设置兼容。对于 C或POSIX环境任何字符集都是允许的 但是对于其他libc提供的环境只有一种字符集可以正确工作不过 在Windows上UTF-8编码可以和任何环境配合使用。 如果您配置了ICU支持则ICU提供的区域设置可用于大多数服务器端编码 但不能用于所有服务器端编码。
设置字符集
1 设置集群默认的字符集编码
initdb为一个PostgreSQL集簇定义缺省的字符集编码。比如把缺省字符集设置为EUC_JP用于日文的扩展Unix 编码。
initdb -E EUC_JP
或者
initdb --encoding EUC_JP
如果没有给出-E或者--encoding选项initdb会尝试基于指定的或者默认的区域判断要使用的合适编码。
2 设置数据库的字符集编码
数据库创建时你指定一个非默认编码提供的编码应和选择的区域兼容
createdb -E EUC_KR -T template0 --lc-collateko_KR.euckr --lc-ctypeko_KR.euckr korean
或者SQL
CREATE DATABASE korean WITH ENCODING EUC_KR LC_COLLATEko_KR.euckr LC_CTYPEko_KR.euckr TEMPLATEtemplate0;
注意上述命令指定拷贝template0数据库。在拷贝任何其他数据库时不能更改从源数据库得来的编码和区域设置因为这可能会导致破坏数据。
查看字符集
1 查看数据字符集编码
数据库的字符集存储在系统目录pg_database中
psql -l
或者
postgres# \lList of databasesName | Owner | Encoding | Collate | Ctype | Access privileges
----------------------------------------------------------------------------------db3 | postgres | UTF8 | en_US.UTF8 | en_US.UTF8 |db4 | role1 | UTF8 | en_US.UTF8 | en_US.UTF8 |db5 | role2 | UTF8 | en_US.UTF8 | en_US.UTF8 |dbtemplate | postgres | UTF8 | en_US.UTF8 | en_US.UTF8 |dbtemplate1 | postgres | UTF8 | en_US.UTF8 | en_US.UTF8 |dbtemplate2 | postgres | UTF8 | en_US.UTF8 | en_US.UTF8 |korean | postgres | EUC_KR | ko_KR.euckr | ko_KR.euckr |postgres | postgres | UTF8 | en_US.UTF8 | en_US.UTF8 |template0 | postgres | UTF8 | en_US.UTF8 | en_US.UTF8 | c/postgres | | | | | postgresCTc/postgrestemplate1 | postgres | UTF8 | en_US.UTF8 | en_US.UTF8 | c/postgres | | | | | postgresCTc/postgrestestdb | postgres | UTF8 | en_US.UTF8 | en_US.UTF8 |
(11 rows)
2 查看服务端字符集
# 服务端字符集
postgres# show server_encoding;server_encoding
-----------------UTF8
(1 row)
3 查看客户端字符集
# 客户端字符集
postgres# show client_encoding;client_encoding
-----------------UTF8
(1 row)postgres#
postgres# \encoding
UTF8
4 查看默认的排序规则和字符分类
# 字符分类
postgres# show lc_ctype;lc_ctype
------------en_US.UTF8
(1 row)# 排序规则
postgres# show lc_collate;lc_collate
------------en_US.UTF8 被支持的字符集
参考 PostgreSQL字符集