UTF-8 mətnli sətirləri kəsərkən meydana çıxan xoşagəlməz simvollar

/var/www/ehaci/public/fayllar/modullar/elvin.php on line 105
http://e-haci.net/2012/12/14/utf-8-m%c9%99tnli-s%c9%99tirl%c9%99ri-k%c9%99s%c9%99rk%c9%99n-meydana-cixan-xosag%c9%99lm%c9%99z-simvollar/" data-layout="button_count" data-size="small" data-mobile-iframe="true"> Share

Yəqin bir çox veb saytlarda başlığın və ya mətnin ayrılmış sahəni doldurmasına görə … ilə məhdudlaşdırılıb davamını oxu düyməsi ilə keçid qoyulmasını görmüsünüz. Azərbaycandilli resursların əksərində belə qısaltmalar zamanı tez-tez bu tip problemlər görürük:

qonaqları qəbul etmi�… davamı

Yəqin ki tanış gəldi. Bu tip situasiyalarda PHP-də “sətirkəsən” funksiya olan substr bizim milli hərfləri başa düşmür və onları 1 baytlıq qaydada kəsməyə cəhd edir. Nəticə multibyte simvollar ortadan bölünür və anlaşılmaz simvollar meydana gəlir.
Bunun qarşısını almaqçün multibyte funksiyalardan istifadə etmək lazımdır. Məsələn

mb_internal_encoding("UTF-8"); 
echo mb_substr("Hər hansı Azərbaycan əlifbasında olan söz",0,15).'... <a>davamı</a>';

bu koddan istifadə etsək ilk 15 simvol normal şəkildə dərc ediləcək, sonrası isə 3 nöqtə ilə davam edəcək.

Yeni yazı olanda xəbər tutmaq üçün

* indicates required

2 Replies to “UTF-8 mətnli sətirləri kəsərkən meydana çıxan xoşagəlməz simvollar”

Bir cavab yazın

Sizin e-poçt ünvanınız dərc edilməyəcəkdir. Gərəkli sahələr * ilə işarələnmişdir