Tu problema es de CODIFICACION, mientras algún componente no este correctamente configurado tendrás problemas con caracteres especiales o latinos, para resolver esto es necesario que...
- Guardes el archivo con codificación UTF-8
- Tu base de datos TIENE que estar codificada en UTF-8
- Tu código HTML tiene que estar códificado en UTF-8
Si mantienes las cosas como tal no importa como agregues el texto, no necesitas utilizar ni crear funciones para cambiar a entidades html los caracteres especiales, siempre se mostrarán correctamente en el navegador