Solucionando problemas de codificación con Jekyll en Windows

Hace un par de meses me tocó desarrollar un proyecto utilizando Jekyll, un sistema de blog estático que ha tomado mucha popularidad debido a que puedes utilizar las GitHub Pages como hosting gratuito.

Como es de acostumbrar, trabajar con este tipo de herramientas en Windows no es tan simple como en sistemas basados en Unix, por lo que luego de configurar una que otra cosa, instalar un theme decente e intentar compilar y empezar a servir el sitio, me encontré con el siguiente mensaje de error:

Generating...   Liquid Exception: incompatible character encodings: UTF-8 and CP850 in post.html
error: incompatible character encodings: UTF-8 and CP850. Use --trace to view backtrace

Luego de una rápida búsqueda encontré que el problema se generaba debido a que la consola de Windows – al menos en Win7 x64 – por defecto viene con un code page 850 (Multilingual Latin I) y Jekyll Liquid – el motor de plantillas de Jekyll – por otro lado, obviamente, tiene un output UTF-8, por lo que se produce un problema de incompatibilidad.

La solución es simple, y sólo debes cambiar el code page de la consola a UTF-8 con un simple comando:

chcp 65001

El único pero es que cada vez que cerraba la consola y la abría nuevamente tenía que otra vez cambiar el code page con el mismo comando… poco práctico. Así que me dediqué a buscar otra solución, y encontré lo siguiente:

  1. Ir a Inicio y ejecutar regedit
  2. Ir a [HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun]
  3. Cambiar el valor a chcp 65001

Si en el punto dos no encuentra la clave Autorun:

  1. Clic derecho en el panel derecho
  2. Nuevo -> Valor de cadena
  3. En el nombre ingresan Autorun
  4. Ingresar como valor chcp 65001

Con eso solamente para el usuario actual cada vez que se abra la consola, el code page será modificado de forma automática. Si lo desean hacer para todos los usuarios, deben cambiar la ruta, en vez de HKEY_CURRENT_USER ingresar HKEY_LOCAL_MACHINE.

¡No me hago responsable por pérdida de compatibilidad con otro tipo de software!

Fuentes:

  1. http://joseoncode.com/2011/11/27/solving-utf-problem-with-jekyll-on-windows/
  2. http://superuser.com/questions/269818/change-default-code-page-of-windows-console-to-utf-8
  3. http://windowsxp.mvps.org/autoruncmd.htm
Anuncios

Deja un comentario (puedes utilizar Markdown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s