Acentos y caracteres especiales en PHP sobre IIS
6 seguidores
Hola, estoy corriendo una aplicación en PHP sobre un servidor IIS.
Tengo el problema de que no me muestra corectamente caracteres especiales como la eñe o los acentos.
Todas las paginas llevan la etiqueta:
<meta>
y he modificado el php.ini:
default_charset = "iso-8859-1"
Todo esto na ha dado resultado. Como pista puedo decir que en el
servidor tambien esta corriendo una aplicacion ASP y no tiene ese problema.
¿Alguna idea?
txuma
Tiene tela que sea yo el que vaya a responder xD
Cosas que se me ocurren:
1. ¿Por qué no le has puesto UTF-8?
2. ¿Te has asegurado que los ficheros .php están guardados con la misma codificación?
Salu2
nice-code
A mi me pasó algo parecido al leer un xml (encoding="uft-8") desde php.
La solución fue añadir esto al inicio del todo del archivo php:
<code><?php
header('Content-type: text/html; charset=UTF-8');
</code>
Igualmente no se si será el mismo problema, o si te solucionará el tuyo, pero por si acaso...
un saludo
Neeno
Ya que usas PHP porque no pasas cada string por la función htmlentities() para "codificar" los caracteres especiales en sus equivalentes html, y luego html_entity_decode() cuando quieras, por ejemplo meter el texto en una base de datos.
happywebcoder
Tendrás que asegurarte de que todos los datos que envíes sigan ese mismo encoding. Estos datos pueden ser los propios archivos php de las vistas de la aplicación (un editor medio decente tiene que permitirte saber en qué encoding están guardados y darte la opción de escoger en qué encoding guardarlos), la información almacenada en la base de datos, o cualquier otro archivo que intervenga en el HTML que vas a enviar en la respuesta (por ejemplo, como te decían más arriba, si trabajas con información obtenida de de datos XML).
En fin, que tanto la aplicación como cualquier dato que vayas a enviar deberían usar el mismo encoding. Lo ideal hoy en día es que, como dice Txuma, todo trabaje usando el encoding UTF-8.
Neshumah
tambien es bueno tener en cuanta que el interprete de PHP no lee utf-8 es mejor que los archivos de "solo codigo" esten en unicode