In MySQL there is a collation utf8_general_ci
which provides case-insensitive comparisons in a variety of languages. For example, these are all 1
(true):
SELECT 'ı' = 'I' SOLLATE 'utf8_general_ci';
SELECT 'i' = 'I' COLLATE 'utf8_general_ci';
SELECT 'ä' = 'Ä' COLLATE 'utf8_general_ci';
Can I define a similar collation using PostgreSQL's ICU?
I tried
CREATE COLLATION "undefined_ci_nondet_old" (
PROVIDER = 'icu',
LOCALE = "@colStrength=secondary",
DETERMINISTIC = false
);
But that doesn't seem to include the Turkish I/ı conversion:
SELECT 'ı' = 'I' COLLATE undefined_ci_nondet_old; -- false