Я застрял в сравнении двух строк Unicode в PHP, которые содержат специальный символ 'ö'. Одна строка происходит от $_GET, другая — это имя папки файловой системы (scandir()). Обе строки кажутся мне равными, что делает
var_dump($filter);
var_dump($tail . '/' . $k);
на них также показывает их равенство, но с разными длинами строк (?!):
string '/blöb' (length=7)
string '/blöb' (length=6)
Мой фрагмент, сравнивающий их, выглядит следующим образом:
if($filter == ($tail . '/' . $k)) {
/* ... */
}
Что тут происходит?
Дополнительная информация: $tail – это пустая строка:
string '' (length=0)
print_r(unpack("H*",$k))в ваших двух случаях? - person Anders Lindahl   schedule 28.07.2011