Dediğim gibi, neredeyse tüm str fonksiyonları işini yapamıyor,
Bu problemi keşfeden ben değilim, elbette birçok kişi bu sorunla karşılaşmıştır veya farkında değildir.
Bu sorunu mb_, iconv harici bir yolla veya basit bir şekilde toptan çözebilmenin bir yolu olmalı ama nasıl ?
mb_internal_encoding('utf-8');
echo mb_strtolower('Ğğ - Üü - Şş - Iİıi - Öö - Çç'); //ğğ - üü - şş - iiıi - öö - çç -- büyük I harfi arızalı, i olarak küçültüyor
echo mb_strtoupper('Ğğ - Üü - Şş - Iİıi - Öö - Çç'); //ĞĞ - ÜÜ - ŞŞ - IİII - ÖÖ - ÇÇ -- küçük i harfi arızalı, I olarak büyütüyor
yapar. mb_internal_encoding deki karakterseti php dosya encodingi ve sayfa charset i ile aynı olursa sorun yaşanılmaz.
örnekleyeyim;
header('content-type: text/html; charset=utf-8');
mb_internal_encoding('utf-8');
echo mb_strtolower('Ğğ - Üü - Şş - Iİıi - Öö - Çç');
echo mb_strtoupper('Ğğ - Üü - Şş - Iİıi - Öö - Çç');yukarıdaki kodu mb_test.php adında encodingini utf-8 olarak kaydet ve çalıştır.