utf8_encode / decode etc str_replace e le funzioni mb_string etc... vanno usate conoscendo quello che si fa .

Andare per trial and error non e' mai una buona cosa in questo caso.
Se la stringa e' utf8 e la ri-codifichi in utf8 si sfracchia.
Se la stringa e' utf8 e la decodifichi esegui appunto un re-code della stringa secondo la codifica di default(oppure quella da te specificata) e quindi cambi la codifica di una stringa.

Devi sapere bene come operare.
Inoltre se hai una stringa utf-8 devi dire a php che e' utf8 altrimenti molte procedure standard non funzionano.