加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

用PostgreSQL,要设置好locale

发布时间:2020-12-13 17:33:43 所属栏目:百科 来源:网络整理
导读:utf8作字符集,无可争议,因为pg不支持GBK和GB18030作字符集 还有一个参数locale 在安装windows版会让你指定locale,如果选择"default locale"就会安装不正确。这个现象好像从8.2版的windows安装包开始出现。 选什么呢?查看一下下拉框,只有4个中文:中文香港

utf8作字符集,无可争议,因为pg不支持GBK和GB18030作字符集
还有一个参数locale
在安装windows版会让你指定locale,如果选择"default locale"就会安装不正确。这个现象好像从8.2版的windows安装包开始出现。

选什么呢?查看一下下拉框,只有4个中文:中文香港、中文新加坡、中文台湾、中文澳门
对我们有用吗?
来做一个实验

运行如下代码

Java代码
  1. create table x (n varchar(4));
  2. insert into x values('王');
  3. insert into x values('李');
  4. insert into x values('里');
  5. insert into x values('張');
  6. insert into x values('莉');
  7. insert into x values('裏');
  8. insert into x values('刘');
  9. insert into x values('张');
  10. select * from x order by n;
create table x (n varchar(4));insert into x values('王');insert into x values('李');insert into x values('里');insert into x values('張');insert into x values('莉');insert into x values('裏');insert into x values('刘');insert into x values('张');select * from x order by n;

字符集utf8 locale C 结果: 刘 张 張 李 王 莉 裏 里 字符集utf8 locale 中文香港 结果: 王 李 里 張 莉 裏 刘 张 字符集utf8 locale 中文936(gb2312) 结果: 莉 李 里 裏 刘 王 张 張 哪一个符合我们中国大陆的中文习惯,或者说排序效果正确? 是:locale 中文936(gb2312) 很可惜,pg的windows安装包四选项没有这一项,国人加油,争取在未来发行版中有这一项。 现在只能任选一个locale安装,装完删除掉data文件夹,命令行重新生成正宗的中文数据库: initdb -D data --locale=chinese-simplified_china.936 -E UTF-8 unix下是: --locale=zh_CN.UTF-8 当然,你不在乎locale,那就无所谓,毕竟对汉字排序在应用中要求不高。我们的主题是“完美主义”。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读