postgresupper/lower
関数がトルコ語文字セットの選択文字を処理していないようです。
select upper('Aaı'), lower('Aaİ') from mytable;
戻り値 :
AAı, aaİ
それ以外の :
AAI, aai
通常の英語の文字は正しく変換されますが、トルコ語の I (小文字または大文字) は変換されないことに注意してください。
Postgres バージョン:9.2 32 bit
データベースのエンコード (これらのいずれでも同じ結果):UTF-8, WIN1254, C
クライアントのエンコーディング:
UTF-8, WIN1254, C
OS:Windows 7 enterprise edition 64bit
SQL 関数は、UTF-8 でエンコードされたデータベースの ı と İ に対して次の同じバイトを返しますlower
。upper
\xc4b1
\xc4b0
そして、WIN1254 (トルコ語) でエンコードされたデータベースでは次のようになります。
\xfd
\xdd
私の調査が間違っていることを願っています。