1

誰かがこれで助けてくれることを願っています

英語とドイツ語のテキストを含むデータベースがあり、Postgres データベースで php を使用しています。英語のテキストのクエリは正常に機能しますが、クエリ文字列にドイツ語の文字が含まれていると空の結果が得られます。

例えば:

select field from Table where field ilike '%software%'

期待通りの結果を返す

select field from Table where field ilike '%bersetzung%'

期待通りの結果を返す

select field from Table where field ilike '%Übersetzung%'

空のセットを返します

show client_encoding は UNICODE を返します。pgadmin で上記のクエリを実行しても、クエリ文字列にドイツ語の文字が含まれている場合は空のセットが返されます。

データベースのエンコーディングは UTF-8 です

前もって感謝します

4

1 に答える 1

0

PostgreSQL には、システムの動作にどのように依存するかについて多くの奇妙な点があります。これは一つです。一般に、ローカリゼーションのサポートは、システム ライブラリとシステムの動作に依存します。これは、大文字/小文字などと照合などの両方に当てはまります。

データベースのセットアップ後にデータベースのローカリゼーション設定を作成できないようです。データベースをバックアップし、適切なローカリゼーション設定でデータベースを再作成し、データをリロードする必要がある場合があります。それはおそらくあなたが探していた答えではありませんが、おそらく最良の答えです。

于 2013-05-21T02:01:46.833 に答える