因此,我最近意识到对于postgres来说,排序规则是一个很大的问题,并且许多评论都将OSX /语言环境支持称为"破碎",这对我没有启发.出于这个问题的目的,我忽略了排序规则的表/列默认方面,并明确指定它.
两者共有:
# show lc_collate ;
en_US.UTF-8
# show lc_ctype ;
en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
在我的笔记本上:
select ',' < '-' collate "en_US.UTF-8" as result;
true
Run Code Online (Sandbox Code Playgroud)
现在,我的服务器没有排序规则"en_US.UTF-8",但它确实有"en_US.utf8"(我认为它不是同一个东西,虽然我希望它的行为相同)
select ',' < '-' collate "en_US.utf8" as result;
false
Run Code Online (Sandbox Code Playgroud)
所以,这里是我吓坏了的地方."C"命令总是说(对于两台机器)','小于' - ',我的大脑会同意.
哪个utf8实现正确?如果有人可以指出我会有所帮助的定义,因为大多数情况下我只能找到对osx的"破碎"指控.所以我担心我一生都错了,认为逗号在连字符之前命令,但是输入一个合理依赖的文本仲裁和unicode等python.在ubuntu服务器上产生:
>>> print u',' < u'-', ',' < '-'
True True
Run Code Online (Sandbox Code Playgroud)
所以,我感觉很像这种整理概念在我的ubuntu服务器上比我的osx服务器更加破碎.但我没有"适当"的整理来创建我的"en_US.UTF-8"整理从ala"创建整理",所以我迷失了如何创建奇偶校验,或哪个答案(真/假)我应该用作正确的参考.(除了亲自支持ascii命令,毕竟是ascii字符).
那么,简而言之,这是en_US.UTF-8的正确答案吗?