Introducción a Rails

Errores comunes de configuración

La forma más fácil de trabajar con Rails es guardando todos los datos externos como UTF-8. Si no lo haces, por lo general las librerías de Ruby y Rails van a ser capaces de convertir tus datos nativos a UTF-8, pero esto no funciona en todos los casos, así que lo ideal es asegurarte que todos tus datos externos usen UTF-8.

Si has cometido un error de este tipo, el síntoma más común es un símbolo de un diamante negro con un signo de interrogación en vez de algunos caracteres en tu navegador. Otro síntoma común es ver caracteres como "ü" apareciendo en vez de la "ü" por ejemplo. Rails realiza una serie de pasos internos para resolver casos comunes. Sin embargo, si tienes datos externos que no están guardados en UTF-8, puede resultar en este tipo de problemas al no ser automáticamente detectados y resueltos por Rails.

Dos fuentes comunes de datos que no están en UTF-8:

  • Tu editor de texto: La mayoría de editores de texto (como TextMate, o Sublime Text), guardan los archivos en UTF-8 por defecto. Si tu editor no lo hace, esto puede resultar en los problemas mencionados arriba. Esto también aplica a los archivos de traducción para I18n. La mayoría de editores que no usan UTF-8 por defecto (como algunas versionesde Dreamweaver) ofrecen una manera para cambiar la opción por defecto a UTF-8. Házlo!
  • Tu base de datos. Rails convierte los datos que intercambia con tu base de datos a UTF-8 por defecto. Sin embargo, si tu base de datos no está usando UTF-8 internamente, puede no ser capaz de guardar todos los datos que ingresen tus usuarios. Por ejemplo, si tu base de datos está usando Latin-1 internamente, y tus usuarios ingresan caracteres rusos, hebreos o japoneses, esos datos serán perdidos para siempre una vez que entren a la base de datos. Si es posible, usa UTF-8 internamente para el almacenamiento de datos.