Ti consiglierei di cambiare drasticamente approccio per non complicarti la vita. Prima di tutto, usa UTF-8 nelle tue pagine e imposta charset e collation del database rispettivamente in utf8 e utf8_general_ci. Quando salvi i record, NON convertire i caratteri speciali. E' sufficiente che, quando le pagine leggono i dati, usino htmlspecialchars() con il secondo argomento impostato su ENT_NOQUOTES, in modo da convertire solo i caratteri \, &, < e >. Ricorda che per usare UTF-8 in una pagina PHP o HTML che sia, non basta dichiarare il charset tramite tag <meta />, ma devi anche salvare il file usando la codifica UTF-8. Ho anche io lo stesso problema con l'area amministrativa del mio sito a causa delle lettere accentate e ho seguito questa strada, evitandomi tanti casini. UTF-8 è caldamente consigliato se hai testi che contengono caratteri di altre lingue. Anche chi fa siti solo in inglese è agevolato (gli basterebbe usare l'ASCII o al limite l'ISO-8859-1), perché se deve usare caratteri particolari non presenti in inglese, può farlo senza ricorrere alle entità di carattere e senza problemi di posizione dei caratteri nella tabella codici utilizzata. Ricapitolando:

1. Nelle tue pagine imposta il meta tag che specifica il charset in modo che usi UTF-8.
2. Quando crei o salvi le pagine, assicurati che il tuo editor usi la codifica UTF-8 (molti salvano automaticamente in ASCII, altri in Windows-1252...è raro che un editor sia impostato di default per salvare in UTF-8). Se usi Crimson Editor o PSPad, puoi controllare facilmente che codifica viene utilizzata e modificarla.
3. Imposta il database e le sue tabelle con charset utf8 e collation utf8_general_ci.
4. Non convertire le stringhe che vengono inserite nel database: inseriscile così come sono.
5. Nelle pagine che leggono e visualizzano i dati, usa htmlspecialchars($stringa,ENT_NOQUOTES) per convertire solo i caratteri che ne hanno bisogno (\, &, < e >) e non gli altri.

I documenti così restano pienamente validi a livello di codice, usano meno byte per rappresentare i caratteri particolari e sono "universali".