Un problema muchas veces repetido cuando no trabajas en ingles y ASCII. No siempre se controla la codificacion que se usa en distintos entornos de trabajo y produccion; al final acaban apareciendo caracteres extraños y problemas de codificacion.
En este caso teniamos codigo php en Latin-1 siendo servido por un Apache amante del Utf-8. En un alojamiento compartido esto se deberia corregir desde el .htaccess de la aplicacion php con:
AddCharset ISO-8859-1 .php
AddDefaultCharset ISO-8859-1
En este caso habia que tocar la configuracion central de apache para permitir que .htaccess modifique estos parametros (via ‘AllowOveride FileInfo’ en la configuracion del directorio base /var/www/htm/). O sea que con las mismas se podia haber cambiado el codificado en la configuracion principal.
Lo mismo se puede conseguir desde php:
PHP. Use the header() function before generating any content, e.g.:
header(’Content-type: text/html; charset=utf-8′);
Lo comentan:
- En w3c dan consejos basicos sobre el uso de las cabeceras http y los codificados.
- En particular sobre el uso de los .htacces de apache
- De interes el listado de nombres de codificados aceptables en las directivas de apache.
