|
Encoding
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. |