В турецком языке есть две буквы Iı (без точки) и İi (обе с точкой).
Для программистов дополнительный прикол заключается в том, что "İ".tolower() это обычная ASCII буква i. И поэтому "İ".tolower().toupper() это уже I, а не İ. Из-за чего любой софт который якобы case insensitive и делает tolower всему входу - фейлится на турецком языке. Вообще непонятно что такое case insensitive без контекста языка. Нам программистам с родным LC_ALL=С легко живётся.
ИМХО это фейл разработчиков юникода. Для Украинского языка сделали бесполезную іІ , у которой отдельный код, но люди всё равно в половине случаев используют латинскую. А для турецкого языка где это смертельно важно не потерять оригинальный символ - не сделали.
Смертельно важно - это буквально. В 2008 году Рамазан Калкобан написал SMS-ку своей подруге Эмин "sıkısınca", а она прочитала "sikisince". Вместо "дорогая, ты неправа" - "грязная шлюха" . Глупая курица, она не в курсе культурных особенностей программистских заморочек. Она в слезах жалуется папе, Рамазан бежит к милой извиняться, а Эмин с папой режут Рамазана ножом. Тот пытается убежать, но Эмин мало, она хочет добить за несчастную точку над i. Разман вынимает из себя нож, ранит Эмин, та помирает от потери крови. Потом уже в полицейском участке убивает себя. Ещё троих (папу Эмин и сестер) сажают в тюрьму. (источник).
отсюда users.livejournal.com/_winnie/346693.html