Antes de reportar al tracker quería verificar si esto no era un problema mio.
Acabo de actualizar de 1.5.3 a 1.8.2 y en los foros veo que las fechas salen con los acentos (en realidad toda la cadena de fecha)en LATIN1 y no en UTF8.
Por ejemplo si dice "mié ..." la é sale mal, pero me di cuenta que era por la codificación.
El resto de la pagina esta bien (hablando de la codificación).
Quiero acotar que estoy usando idioma es_ar_utf8
¿Has actualizado los paquetes de los idiomas? (especialmente el paquete base 'Español Internacional').
Saludos. Iñaki.
Saludos. Iñaki.
Si, incluso lo desinstale y volví a instalar.
Otra cosa que no tiene que ver, pero...
# find . -exec file -i {} \; -print | grep 8859
./18/FL.M: text/plain; charset=iso-8859-1
./lang/es_utf8/gradeexport_xml.php: text/x-c++; charset=iso-8859-1
./lang/es_utf8/gradeexport_csv.php: text/x-c++; charset=iso-8859-1
./lang/es_utf8/gradeexport_txt.php: text/x-c++; charset=iso-8859-1
Estos archivos deberían estar en formato UTF8, pero no lo están.
# find . -exec file -i {} \; -print | grep 8859
./18/FL.M: text/plain; charset=iso-8859-1
./lang/es_utf8/gradeexport_xml.php: text/x-c++; charset=iso-8859-1
./lang/es_utf8/gradeexport_csv.php: text/x-c++; charset=iso-8859-1
./lang/es_utf8/gradeexport_txt.php: text/x-c++; charset=iso-8859-1
Estos archivos deberían estar en formato UTF8, pero no lo están.
Resuelto parcialmente.
Me puse a husmear por el código y encontré la funcion userdate() que devuelve la cadena de la fecha. Por alguna razón el locale no esta pasando como UFT-8 sino como LATIN1.
Solución chancha (AKA horrible): Agregue la linea siguiente antes de que se llame a las funciones de PHP *strftime():
setlocale(LC_TIME, 'es_AR.UTF8');
Obviamente que lo único que paso es que le forcé la codificación, pero porque esta tomando LATIN1 si en todas partes esta todo configurado como UTF-8?
Me puse a husmear por el código y encontré la funcion userdate() que devuelve la cadena de la fecha. Por alguna razón el locale no esta pasando como UFT-8 sino como LATIN1.
Solución chancha (AKA horrible): Agregue la linea siguiente antes de que se llame a las funciones de PHP *strftime():
setlocale(LC_TIME, 'es_AR.UTF8');
Obviamente que lo único que paso es que le forcé la codificación, pero porque esta tomando LATIN1 si en todas partes esta todo configurado como UTF-8?
Solución definitiva, y lo que realmente debí haber hecho desde un principio: En config.php agregue
$CFG->locale = "es_AR.UTF-8";
Gracias.
$CFG->locale = "es_AR.UTF-8";
Gracias.