Spotkałem się z czymś dziwnym.
Pobieram region
Łódź Voivodeship
zapisuje w bazie danych
potem pobieram z bazy danych zmienną odpowiadającą regionowi, tą samą co zapisałem
i co się okazuje
że zmienna pobrana z bazy różni się od zmiennej pobranej z api
sprawdzam echo obie zmienne tak samo wyświetla, sprawdzam kodowanie i obie tak samo utf8, sprawdzam strlen a tu zmienna z api ma 19 a zmienna z bazy ma 25
normalnie jak ktoś wie o co chodzi to szacun i jak to naprawić żeby php za pomocą finkcji if rozpoznawał że obie zmienne są takie same
1
pobranie i zapisanie w bazie danych
$pobranie = unserialize(file_get_contents('http://stronagdziepobieram'));
$region = $pobranie['region'];
i zapisuje zwykłym input do bazy danych
2
pobranie z bazy danych i porównanie
pobieram zwykłym select * z bazy
określam $region2=pobrana z bazy danych
porównanie
$detect1 = mb_strlen($region);
$detect1u = mb_detect_encoding($region);
$detect2 = mb_strlen($region2);
$detect2u = mb_detect_encoding($region2);
if($region==$region2){echo'OK';}else{echo'NIE ZGADZAJĄ SIĘ';}
echo $region.'-'.$detect1.'-'.$detect1u.'<br />'.$region2.'-'.$detect2.'-'.$detect2u;
3
wynik
NIE ZGADZAJĄ SIĘ
Łódź Voivodeship-23-UTF-8
Łódź Voivodeship-16-UTF-8