1、支持的字符集

2、设置字符集
initdb定义数据库默认字符集/编码,例如:
initdb -E GKR
可以用–encoding代替-E。如果没有给出-E或者–encoding选项,initdb会尝试基于指定的或者默认的区域判断要使用的合适编码。
使用非默认字符集/编码时,应考虑其与所选择的区域兼容:
createdb -E EUC_KR -T template0 --lc-collate=ko_KR.euckr --lc-ctype=ko_KR.euckr korean
或使用SQL命令实现:
CREATE DATABASE korean WITH ENCODING 'GB18030' LC_COLLATE='ko_KR.euckr' LC_CTYPE='ko_KR.euckr' TEMPLATE=template0;
数据库的字符集/编码存储在系统目录pg_database中。可以使用gsql -l选项或者\l命令进行查看。
gsql -l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-------------+-------+----------+-------------+-------------+-------------------
gbase | gbase | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
korean | gbase | EUC_KR | ko_KR.euckr | ko_KR.euckr |
template0 | gbase | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/gbase +
| | | | | gbase=CTc/gbase
template1 | gbase | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/gbase +
| | | | | gbase=CTc/gbase
(4 rows)
本文介绍如何使用initdb和createdb命令来定义和创建带有特定字符集的数据库,以及如何通过SQL命令实现相同目的。文中还展示了如何查看已创建数据库的字符集和其他相关信息。

431

被折叠的 条评论
为什么被折叠?



