看起来 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
操作系统:Windows 7 enterprise edition 64bit
SQL 函数lower
并upper
在 UTF-8 编码的数据库上为 ı 和 İ 返回以下相同的字节
\xc4b1
\xc4b0
以及WIN1254(土耳其语)编码数据库上的以下内容
\xfd
\xdd
我希望我的调查是错误的,我错过了一些东西。