トルコ語のコンテンツを持つRailsアプリを開発しています。データベースバックエンドとしてPostgresql9.2.2を使用しています。適切な順序を除いて、すべてが正常に機能します(奇妙な文字の問題などはありません)。
たとえば、都市別に並べ替えられたアイテムを一覧表示しようとすると、「アダナ、ブルサ、イスタンブール、ギレスン、ゾングルダク..」のようになります。
代わりに、私は常にリストの最後/最初にトルコ語固有の文字を取得します。(すなわち、「アダナ、ブルサ、ギレスン、ゾングルダク、イスタンブール」)
次のコマンドでpostgresデータベースを初期化しました:initdb /usr/local/var/postgres -E utf8 --locale=tr_TR
\l
psqlコンソールを使用すると、期待どおりの結果が得られます。
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"
やはり進行しませんでした。
私の開発環境に関するいくつかの情報:
MacbookPro7.1でMountainLion10.8.2を実行する
psql --version
:9.2.2rails --version
:3.2.11
$ locale
:
- LANG = "tr_TR.UTF-8"
- LC_COLLATE = "tr_TR.UTF-8"
- LC_CTYPE = "tr_TR.UTF-8"
- LC_MESSAGES = "tr_TR.UTF-8"
- LC_MONETARY = "tr_TR.UTF-8"
- LC_NUMERIC = "tr_TR.UTF-8"
- LC_TIME = "tr_TR.UTF-8"
- LC_ALL =
この問題を解決するにはどうすればよいですか?