charset en Apache/PHP [was Re: Apache utf iso encode php enrredo
Ricardo Mun~oz A.
rmunoz en pjud.cl
Vie Oct 12 16:48:06 CLT 2007
Marcos Ramirez wrote:
> On Fri, 2007-10-12 at 12:27 -0500, Raul Perez wrote:
>
>> Estoy loco con el tema de los encode.
>>
>> Yo tenia un servidor con centos que tuve problemas con los caracteres en
>> espanol que lo resolvia si mal no me acuerdo cambiando el httpd.conf la linea
>> de charset por utf8
>>
>
> Eso solo define que charset asume apache en caso de no encontrar
> ninguno, las paginas *pueden* especificar que el charset es distinto.
>
>
>> Ahora tengo un server con gento donde esto no me resulta
>> Tengo que estar colocando a los php funciones para decode y encode para poder
>> que se vean las tildes
>>
>
> ¿revisaste que charset esta mandando php?. Mira en php.ini y busca la
> linea "default_charset", probablemente tienes iso-8859-1 o no lo tienes
> definido, en cuyo caso asume el valor por omision, que probablemente sea
> "iso-8859-1"
>
> Una mirada a los headers que te envia la pagina te sirve para saber
> quien esta generando el charset.
>
a mas bajo nivel se puede verificar el charset directamente de un
archivo html/php/etc., con el comando file(1), por ejemplo:
file -i archivo.extension
archivo.extension: text/plain; charset=iso-8859-1
el cual probablemente se mostrara incorrectamente si tienes seteado
utf-8 en todas partes (Apache, PHP, etc.). entonces una solucion es usar
el comando recode(1) para convertir el charset del archivo:
recode iso-8859-1..utf-8 archivo.extension
--
Ricardo Mun~oz A.
Usuario Linux #182825 (counter.li.org)
Más información sobre la lista de distribución Linux