Kişisel projelerinizde ifadeleri kısaltmak için substr fonksiyonu yerine mb_substr kullanırsanız, Türkçe karakterlerde problem yaşamazsınız. Ben de benzer problemler yaşıyordum bu konuda. Artık mb_substr tercihim olacak.
Php substr yerine mb_substr kullanın
Nedir meydana gelen problem derseniz, alttaki kodları inceleyelim. Bu arada kodların yer aldığı sayfanın karakter seti UTF-8.
<?php
$ifade = 'Ne zaman seni düşünsem';
echo substr($ifade,0,20);
?>
Yukarıdaki kodu çalıştırdığınızda alttaki çıktıyı elde edeceksiniz.
Ne zaman seni düş�
Gördüğünüz üzere Türkçe karakter sonrasında problem söz konusu oluyor. Bu kez aynı uygulamayı mb_substr ile yapalım.
<?php
$ifade = 'Ne zaman seni düşünsem';
echo mb_substr($ifade,0,20,'UTF-8');
?>
Bu kez düzgün bir çıktı elde ettik 🙂
Ne zaman seni düşüns
Özetle 🙂
Bundan sonra mb_substr fonksiyonlarını kullanıyoruz Türkçe karakterlerimiz de problem yaşamamak için 😉