我们正在使用Django 1.5和Postgres 9.1。数据库编码是UTF-8。网站编码为UTF-8。一些非ascii字符 - 包括法语é - 正确显示。
唯一的问题是德国的变音符号和特殊字符。错误字符的例子:
über
ausgewählte
Flüge
如果我使用从tablename 中选择blabla来检查原始Postgres输出,那么它看起来很糟糕:
... R \ xfcckverg \ xfctung ...
看起来Django将原始unicode值放入数据库,而不是将它们转换为适当的字符。
psql \ l 输出:
```
数据库列表
名称|所有者|编码|整理| Ctype |访问权限
----------- ---------- + ---------- + ------------- + + - ----------- + -----------------------
my_database | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 |
```
locale 服务器输出:
```
$ locale
LANG=en_US.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=
```
我该如何解决?