I preg_match kullanarak UTF8 kodlanmış dize aramak için çalışıyorum.
preg_match('/H/u', "\xC2\xA1Hola!", $a_matches, PREG_OFFSET_CAPTURE);
echo $a_matches[0][1];
"H" dizesinde indeksi 1 olduğu için bu, 1 basmalı "¡Hola!". Ama 2 yazdırır. Bir UTF8 kodlanmış bir dize olarak konuyu tedavi değil gibi görünüyor Yani, normal ifadede "u" modifier geçiyorum bile.
Benim php.ini içinde aşağıdaki ayarları vardır, ve diğer UTF8 fonksiyonları çalışıyor:
mbstring.func_overload = 7
mbstring.language = Neutral
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
Herhangi bir fikir?