Para mostrar las Ñ y acentos ortográficos, puedes usar la función
utf8_encode. Por cierto, ese ejemplo que encontraste, se parece mucho a uno que hice hace un tiempo en
Yahoo! Respuestas, creo que el que muestras, lo publiqué en otra página o en otra respuesta, pero no importa, mientras más se difunda el conocimiento, habrán más personas preparadas.
Saludos
P.D.: Ese algoritmo, el del ejemplo, se puede mejorar.