2 つのデータベースがあり、1 つは postgresql 8.4 で実行され、もう 1 つは postgresql 9.1 で実行されています。どちらも同じロケールの CentOS マシン上にあります ( en_US
)。
次のデータを含むテーブルがあるとします。
id | description
1 Morango
2 CAFÉ
3 pera
4 Uva
奇妙なことに、次のようなクエリを実行すると、次のようになります。
SELECT * FROM products WHERE description ~* 'café'
8.4 マシンでは結果が得られませんが、9.1 マシンでは行 ( CAFÉ
) が得られました。どうやら大文字のユニコード文字を比較する方法が異なっているようです。
- 誰かがこの問題について私に洞察を与えることができますか?
- この問題を引き起こす可能性があるのは、別のバージョンの postgresql ですか?
- 2 台のマシンの動作を均等にするために追加できる構成はありますか?
更新: 両方のデータベースは UTF-8 です