si almacenas eso en base de datos debes de escapar todos aquellos caracteres que para la base de datos sean especiales, luego para cuando lo imprimas en el HTML éste tiene otra serie de caracteres reservados, en PHP utf8_decode o encode simplemente convierte la
codificación de la cadena,
pero de igual forma obtendrás los caracteres, tienes que usar
htmlspecialchars() para realmente convertir dichos caracteres a su verdaderas entidades HTML, además de usar <pre></pre> para tener en cuenta espacios en blanco