Skip to content

Turkic ı/i problem

In Turkic languages, the capital letter for i is İ; Not I like in other latin-script languages.

Instead, the equivalent letter for I is actually ı. In summary:

  • Uppercase i in English is I
  • Uppercase i in Turkish is İ
  • Lowercase I in English is i
  • Lowercase I in Turkish is ı

This ambiguity of how to capitalize a letter can cause issues. There is a Wikipedia article about this issue: Dotted and dotless I in computing.

Text transformation

A classical example of text transformation is converting text to uppercase, lowercase, or transforming the first letter in a string to uppercase.

See Text Transformation for more details on how to correctly transform text for Turkic languages.

Searching in strings

I wanted to understand how search algorithms handle the characters ı and İ. It turns out there is no consistency!

Web Browser's "Find in page..."

Using the "Find in page" feature, the following browsers will match specific characters with the given search term.

Search Term Chrome matches Firefox matches Safari matches Edge matches
ı ı ıiIİ ı ı
i iIİ ıiIİ iIİ iIİ
I iIİ ıiIİ iIİ iIİ
İ iIİ ıiIİ İ iIİ

Firefox’s approach is the most intuitive, but might not always be what the user wants.

If I create the files ı.zip, i.zip, I.zip, and İ.zip, I wondered if macOS's Spotlight Search system would be able to identify the file by name.

Apparently the search functionality is inconsistent with how Safari's "Find in page..." works.

Search Term \ File Name ı.zip i.zip I.zip İ.zip
ı.zip ✅ Matched ❌ No Match ❌ No Match ✅ Matched
i.zip ❌ No Match ✅ Matched ✅ Matched ✅ Matched
I.zip ❌ No Match ✅ Matched ✅ Matched ✅ Matched
İ.zip ❌ No Match ✅ Matched ✅ Matched ✅ Matched