如何在Windows上的PostgreSQL中使用UTF-8归类创建数据库?

Woj*_*cel 2 sql postgresql bitbucket utf-8 bitbucket-server

我正在Windows上为Bitbucket Server配置PostgreSQL db。在官方指南中说:

必须将数据库配置为使用UTF-8字符集。

并不是严格说您必须将排序规则设置为UTF-8,但是建议使用其他Atlassian产品,因此我认为Bitbucket Server的情况也是如此。来自Confluence文档的示例:

  • 字符编码必须设置为utf8编码。
  • 排序规则也必须设置为utf8。已知其他排序规则(例如“ C”)会导致Confluence出现问题。

这就是我现在所拥有的,问题是它将归类设置为English_United States.1252

CREATE DATABASE test
WITH OWNER "postgres"
ENCODING 'UTF8'
LC_COLLATE = 'american_usa'
LC_CTYPE = 'american_usa'
TEMPLATE template0;
Run Code Online (Sandbox Code Playgroud)

确实需要将排序规则设置为UTF-8,如果可以,该怎么办?

ben*_*nvc 9

对于希望在Windows上使用UTF-8编码创建PostgreSQL数据库(以及美国语言环境的排序顺序和字符分类)的任何人,以下是对我们通常用于该特定问题的原始问题中所发布内容的修改设定。

CREATE DATABASE "example_db"
WITH OWNER "postgres"
ENCODING 'UTF8'
LC_COLLATE = 'en_US.UTF-8'
LC_CTYPE = 'en_US.UTF-8'
TEMPLATE template0;
Run Code Online (Sandbox Code Playgroud)

一种用于终端复制/粘贴的衬纸格式:

CREATE DATABASE "example_db" WITH OWNER "postgres" ENCODING 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' TEMPLATE template0;
Run Code Online (Sandbox Code Playgroud)


Lau*_*lbe 7

没有 UTF8 整理。UTF8 是一种将字符编码为数字的方法,即所谓的编码。排序规则定义了字符(和组合)的排序方式。

虽然您必须选择与 UNIX 上的 PostgreSQL 数据库编码匹配的排序规则,但在 Windows 上则不需要。也许您正在阅读的文档是针对 UNIX 的。

您应该询问编写软件的人告诉您要使用的归类。