Veritabanı işlemlerinde, veritabanı içerisinden herhangi bir veri çağrılacağı sırada, çağrılacak olan verinin sorunsız bir şekilde gelebilmesi için büyük harf ve küçük harf uyumu önemlidir. Bunun için PHP'de şu hazır fonksiyonlar geliştirilmiştir.
$string = "BLOGKAFEM harika bir blog"; //olduğunu varsayarsak;
lcfirst($string) - ifadenin ilk karakterini küçük harf yapar. (bLOGKAFEM harika bir blog)
strtolower($string) - büyük harfleri küçük harfe çevirir. (blogkafem harika bir blog)
strtoupper($string) - küçük harfleri büyük harfe çevirir. (BLOGKAFEM HARIKA BIR BLOG)
ucwords($string) - her sözcüğünü ilk harfini büyük harf yapar. (Blogkafem Harika Bir Blog)
mb_convert_case($string, MB_CASE_TITLE, "UTF-8") - ikinci parametresine yazılan komuta göre fonksiyonun gerçekleştireceği işlem değişiklik gösterir. Örneğin burada ikinci parametrede, MB_CASE_TITLE yazılı olduğu için, mb_convert_case() fonksiyonu, ucwords() fonksiyonu ile aynı işlevi görecektir. Sonuç şöyle olacaktır : Blogkafem Harika Bir Blog
Bu fonksiyonlar bize büyük kolaylıklar sağlıyor ama Türkçe karakter problemi sebebiyle, tam olarak istediğimiz işlemleri gerçekleştiremeyebiliyoruz. Yukarıdaki fonksiyonlardan, üçüncü fonksiyonun örneğini incelerseniz eğer, ne demek istediğimi anlarsınız.
Normal şartlarda BLOGKAFEM harika bir blog ifadesi BLOGKAFEM HARİKA BİR BLOG olarak çevrilmesi gerekiyorken, büyütme veya küçültme işlemleri sırasında İngilizce karakterler baz alınarak şu şekilde bir dönüşüm yapılıyor BLOGKAFEM HARIKA BIR BLOG olarak çevriliyor.
Bunun çözümü için, büyütülmesi veya küçültülmesi gereken Tükçe karakterleri kendimiz elimizle belirtmemiz gerekecek.
strtoupper() fonksiyonu üzerinden örnek vererek açıklayacağım. Örneğin strtoupper() fonksiyonunu kullanarak bir kelimedeki yada bir cümledeki tüm harfleri büyük olarak yazmak istiyoruz.
Bunun için, strtoupper() fonksiyonunu kullanmak yerine,
mb_convert_case($string, MB_CASE_UPPER, "UTF-8") fonksiyonunu kullanmamız gerekecek ama bu fonksiyonu kullanmadan önce, Türkçe karakter problemini giderebilmek için, Türkçe karakterlerin doğru karşılıklarını bir dizi içerisinde belirtmemiz gerekecek.
Türkçe karakter probleminin çözümü için aşağıdaki örneği inceleyebilirsiniz :
Konuda belirtilen fonksiyonları kullanarak, Türkçe karakter sorunu için bir çok çözüm yolu bulunabilir ama bu çözüm yolu benim bildiğim en kısa çözüm yoluydu. Konu ile ilgili aklınıza takılan yerleri aşağıdaki yorum formuna yazarak bana iletebilirsiniz.