使用 PostgreSQL 设置 trac - 如何将编码设置为 UTF8?

使用 PostgreSQL 设置 trac - 如何将编码设置为 UTF8?

所以我一直在寻找安装跟踪在我的 Debian 服务器上PostgreSQL。我按照文档设置了所有内容,但在尝试运行时trac-admin /path initenv出现数据库编码错误:

DataError: character 0xe282ac of encoding "UTF8" has no equivalent in "LATIN1"

通过进一步阅读(并且看到我的所有数据库都设置为编码“LATIN1”),似乎我需要更改为 UTF8,但我该怎么做呢?

如果我像这样创建数据库:

createdb -U user -O user -E UTF8 trac

我得到:

createdb: database creation failed: ERROR:  encoding UTF8 does not match server's local en_GB
DETAIL: The server's LC_CTYPE setting requires encoding LATIN1.

看起来通过改变编码应该很容易修复,但是经过一番搜索后我不知道该怎么做!

答案1

您的数据库集群似乎具有 LATIN1 语言环境。设置集群时,您可以添加--locale参数 - 请参阅这个文件了解更多信息。您的数据库将根据此参数创建。

您可以在配置文件中设置一些语言环境参数。例如我的设置来自/etc/postgresql/9.1/main/postgresql.conf

lc_messages = 'cs_CZ.UTF-8'                     # locale for system error message strings
lc_monetary = 'cs_CZ.UTF-8'                     # locale for monetary formatting
lc_numeric = 'cs_CZ.UTF-8'                      # locale for number formatting
lc_time = 'cs_CZ.UTF-8'

相关内容