Estas desarrollando tu aplicación con Ruby on Rails, y todo marcha bien en lo que ha manejo de los caracteres especiales se refiere. Pero cuando empiezas a especiar un poco las interfaz te das cuenta de que los caracteres especiales ingresados en las formas que son enviadas vía Ajax se estan almacenando mal en la base de datos (que en este caso no es UTF-8) ¿Qué haces?

Sencillo, te lees Ajax and Character Sets en
Explorations…
, blog de Sebastian Kanthak lo que te permite:

  • Modificar la clase Hash para que soporte la conversion de los valores vía la librería iconv.
  • Agregar un before_filter a ApplicationController para disparar esta conversion sobre los parámetros HTTP (@params)
  • Y en cada ActionController que lo requiera especificar las acciones que son Ajax para que el filter las procese.

Al parecer el problema es que la implementación de Ajax en Ruby on Rails tiene hardcoded el encoding UTF-8. Después de este parche queda revisar bien que es lo que está pasando “bajo el capó” como decimos en Venezuela.


2 Respuestas a “Ruby on Rails, Ajax y caracteres especiales”

  1. 1 Edgar González

    Lo había leido antes que los tools Ajax de RubyOnRails tenían hardcoded el encoding en UTF-8, buena la solución del before_filter.

  2. 2 Gustavo

    Yo tenia este probema con los caracteres tenia en una tabla la info, y al presentarla con ajax los caraceteres como acento,ñ,etc no aparecian.

    Ejem de solucion.

    $a=tenía; // veamos acento en la í

    //para mostrarlo con ajax sería

    echo utf8_encode($a);

    ?>

    Éxito muchachos !


RSS feeds

Suscríbete a nuestros RSS Feeds