德国特殊字符显示不正确

时间:2014-08-04 11:56:16

标签: django postgresql

我们正在使用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=

```

我该如何解决?

0 个答案:

没有答案