El Sábado, 29 de Abril de 2006 17:31, Stolz escribió: > Estoy traduciendo una web del Inglés al español. Para ello he usado > gettext, pero tengo problemas con la codificación UTF-8. > > El problema es que todas las páginas traducidas con gettext se declaran a > sí mismas como UTF-8 pero en realidad las frases generadas son iso-8859-1 > (latin-1). He llegado a esta conclusión forzando la codificación tanto en > Firefox como en mi editor de textos. En ambos, se selecciona de forma > automática la codificación UTF-8 pero en vez de los caracteres especiales > se muestran cuadros. Si fuerzo la codificación a iso-8859-1 los caracteres > se muestran correctamente. > > Las partes de las páginas web que no han sido traducidas mediante gettext > se muestran bien en UTF-8, por lo que deduzco que es un problema de > gettext. > > La pregunta es: ¿Por qué msgfmt genera el archivo .mo en iso-8859-1 y no en > UTF-8? ¿como puedo forzarlo para que genere el archivo binario en UTF-8? > > Por si ayuda, estas son las precauciones que he tomado para asegurame > compatibilidad con UTF-8: > > * Todos mis archivos de fuentes (*.php) están en UTF-8. > * APACHE está configurado para usar UTF-8 por defecto > (AddDefaultCharset UTF-8) * Mi archivo con las frases traducidas (.po) está > en UTF-8: > # file locale/es_ES/messages.po > locale/es_ES/messages.po: UTF-8 Unicode PO (gettext message > catalogue) text > > * He indicado en la cabecerda del archivo con las frases traducidas > (.po) que el texto se encuentra en UTF-8: # grep charset > locale/es_ES/messages.po > "Content-Type: text/plain; charset=UTF-8\n" > > Y estos son los comandos que he usado para generar los archivos .pot, .po y > .mo: # mkdir -p locale/es_ES/LC_MESSAGES/ > # xgettext --indent --no-wrap --sort-by-file --from-code=UTF-8 --output > locale/messages.pot *.php # cp locale/messages.pot locale/es_ES/messages.po > # msgfmt --verbose --output-file locale/es_ES/LC_MESSAGES/messages.mo > locale/es_ES/messages.po > > Gracias de antemano. > > Un saludo
y tus locales? -- "Sólo en el diccionario hay éxito antes que trabajo." Rober Morales Chaparro