e' un problema di codifica, o della tabella o della pagina dove vengono stampate.

Fai attenzione se un utente passa caratteri giapponesi, cirillici o altro potrebbe nn andarti piu' cosi' bene, devi mantenere le stesse codifiche sia sulle pagine web come formato di file che come codifica nei metatag e quindi anche nelle relative colonne delle tabelle del database.

Per il resto php fornisce funzioni come la utf8_decode o come funzioni "MB" ossia multibyte per le operazioni tipo strpos hai la funzione mb_strpos etc...

Io dal canto mio oramai utilizzo solo ed esclusivamente la codifica "utf8 - general" per default dappertutto.
Cosi' ne uso una solamente e so che non ho mescolanze nelle codifiche delle stringhe.