OK.
PHP provee varias soluciones a tu problema.
Para resolver tu problema puedes utilizar
htmlentities()
http://www.php.net/manual/es/function.htmlentities.php
o htmlspecialchars()
http://www.php.net/manual/es/functio...ecialchars.php
Respecto a la codificacion de caracteres
http://es.wikipedia.org/wiki/Codific..._de_caracteres
copio pego del manual de PHP
encoding
Al igual que htmlspecialchars(), htmlentities() toma un tercer argumento opcional, encoding, el cual define la codificación usada en la conversión. Desde PHP 5.6.0, el valor de default_charset se usa como el predeterminado. Desde PHP 5.4.0, UTF-8 es el valor predeterminado. PHP anterior a 5.4.0, utiliza ISO-8859-1 como el valor predeterminado. Aunque este argumento es técnicamente opcional, es altamente recomendable especificar el valor correcto para el código.
El tercer valor de las funciones que te he puesto mas arriba es la codificacion de caracteres, deberia de coincidir con la codificacion de tu bd de donde estraes el string que le pasas a la funcion, no obstante, en la mayoria de caracteres no importa la codificacion de la bd, y por lo tanto no suele ser necesario que coincida, por otro lado, existen caracteres que si no coinciden con la codificacion de uno y otro lugar no se representaran en pantalla correctamente.