My favorites | Sign in
Project Home Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
Encoding  
Updated Aug 2, 2014 by nati.ste...@gmail.com

Incompatibilidad de caracteres al ingresarlos en la base de datos

Cuando quería guardar un carácter especial me los guardaba mal en la base de datos, eso era porque activerecord estaba utilizando el encoding ASCII-8. Para poder arreglarlo tenia que utilizar el encoding UTF-8, por lo tanto le agregue al database.rb del proyecto la siguiente linea: encoding:'utf8'.

Incompatibilidad de caracteres al cargarlos en los campos correspondientes

Después de poder ingresar correctamente los valores a la base de datos, lo que necesitaba era que sinatra pudiera cargar correctamente los caracteres a la aplicación. Pero me tiraba el siguiente error:

Encoding:: CompatibilityError. Incompatibility character encoding utf8 ascii-8bit

Es un error muy común. He buscado soluciones para el ruby 1.9.3, pero las que se encontraba no funcionaban. La única solución que anduvo fue en cada campo del error agregarle force_encoding('utf-8'). Esa solución es poco practica ya que se necesita forzar el encoding a cada campo que ingrese caracteres especiales.

Investigando encontré que el encoding por default de la versión 2.0.0 de ruby es 'utf-8'. Por lo tanto, volvi a instalar el entorno con la nueva versión de ruby y le cambie la gema 'mysql' por 'mysql2' para evitar mas problemas referentes al encoding. Gracias a estas instalaciones se solucionaron dichos problemas.

Powered by Google Project Hosting