De, ez ettől még karakterkódolási hiba és semmi köze a "felcserélésnek".
Vagyis annyi köze van hozzá, hogy a rosszul beállított kódolás miatt az strtolower nem tudott mit kezdeni az ékezetes betűiddel és ezért adta vissza az, amit. Innentől már a replace sem tudott mit kezdeni, mivel nem voltak ékezetes karakterek.
Mivel te a csere után raktad az átalakítást, addigra már az ékezetes karakterek lecserélődtek, így az átalakítás is végbe tudott menni.
Ezt én nem nevezném sikernek, mivel ha a továbbiakban is így oldod meg a rossz beállításokat, sokat fogsz vele szívni. Ez csak egy tanács.