数据库级字符集和字符序
创建一个新的数据库时,可以指定数据库的字符集字符序,创建数据库操作请参见CREATE DATABASE。
CREATE DATABASE [IF NOT EXISTS] database_name [ ENCODING [=] encoding ] | [ LC_COLLATE [=] lc_collate ] | [ LC_CTYPE [=] lc_ctype ] |;
语法说明:
- database_name
数据库名称。
取值范围:字符串,要符合标识符的命名规范。
- ENCODING [ = ] encoding
指定数据库使用的字符编码,可以是字符串(如'SQL_ASCII')、整数编号。
- LC_COLLATE [ = ] ‘lc_collate’
指定新数据库使用的字符集。例如,通过lc_collate = 'zh_CN.gbk'设定该参数。
该参数的使用会影响到对字符串的排序(如使用ORDER BY执行,以及在文本列上使用索引的顺序)。默认是使用模板数据库的排序。
取值范围:操作系统支持的字符集。
- LC_CTYPE [ = ] ‘lc_ctype’
指定新数据库使用的字符分类。例如,通过lc_ctype = 'zh_CN.gbk'设定该参数。该参数的使用会影响到字符的分类,如大写、小写和数字。默认是使用模板数据库的字符分类。
取值范围:操作系统支持的字符分类。
- 数据库级字符集、字符序语法所有模式均可使用,详细语法请参见CREATE DATABASE。
-
LC_COLLATE/LC_CTYPE语法不支持指定B模式特有的字符序,参数的取值范围取决于本地环境支持的字符集,可通过locale -a查看。