我正在开发一个rails应用程序,其内容为土耳其语。我使用Postgresql 9.2.2作为我的数据库后端。除了正确的排序外,一切正常(没有奇怪的角色问题等)。
例如,当我尝试列出他们所在的城市所订购的一些物品时,我希望有类似“Adana,Bursa,İstanbul,Giresun,Zonguldak ......”的东西。
相反,我总是在列表的结尾/开头获得土耳其语特定字符。 (即“Adana,Bursa,Giresun,Zonguldak,İstanbul”)
我使用命令initdb /usr/local/var/postgres -E utf8 --locale=tr_TR
当我在psql控制台中\l
时,我得到了预期的结果。
Name Owner Encoding Collate Ctype
----------------+-------------+----------+---------+-------+
app_development | app | UTF8 | tr_TR | tr_TR |
app_production | app | UTF8 | tr_TR | tr_TR |
app_test | app | UTF8 | tr_TR | tr_TR |
postgres | monkegjinni | UTF8 | tr_TR | tr_TR |
我还尝试使用LC_CTYPE="tr_TR.UTF-8"
和LC_COLLATE="tr_TR.UTF-8"
手动创建数据库,但再次没有进展。
有关我的开发环境的一些信息:
使用Macbook Pro 7.1运行Mountain Lion 10.8.2
psql --version
:9.2.2
rails --version
:3.2.11 $ locale
:
如何解决此问题?
答案 0 :(得分:1)
OS X上的UTF-8语言环境已损坏。您可以尝试使用非UTF-8语言环境(tr_TR.ISO8859-9),但在这方面它似乎也被打破了。所以它不会起作用。