所以我一直在寻找安装跟踪在我的 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'