Retroceder   Foros del Web > Programación para sitios web > Ruby on Rails

Respuesta
 
Herramientas Desplegado
Antiguo 30-oct-2006, 11:50   #1 (permalink)
sebacipo ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2006
Mensajes: 14
Acentos y "Ñ" en mongrel

hola, tengo un problema con los acentos y las Ñ.
ante nada les quiero comentar q estoy aprendiendo rails y soy muy novato
cuandso utilizo webbrick, los acentos y Ñ los muestra bien en la plantilla, pero cuando tiene q colocar texto de la BD mysql en donde hay acentos coloca un "?".

cuando utilizo mongrel hace lo contrario,, en la parte de la info de la BD los coloca correctamente,, pero en los titulos de las plantillas (por ej) no coloca las "Ñ" ni los acentos.

gracias por su ayuda
sebacipo está desconectado   Responder Citando
Antiguo 01-nov-2006, 23:12   #2 (permalink)
pablasso tiene algunos puntos positivos de karma
 
Avatar de pablasso
 
Fecha de Ingreso: noviembre-2002
Ubicación: Guadalajara, México
Mensajes: 2.603
estas seteando tu charset en tu layout?

Código:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
ISO-8859-1 o UTF-8 comunmente
__________________
pablasso.com | ciberpc.com
pablasso está desconectado   Responder Citando
Antiguo 02-nov-2006, 15:52   #3 (permalink)
sebacipo ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2006
Mensajes: 14
hola
gracias por tu ayuda pablasso, la verdad q no sabía q debia setear el layout.
utilizando esto me sirvio para el layout,, ahora el mongrel me lo muestra bien

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

pero de todas formas la info q extrae de la BD y q coloca en el @content_for_layout no me muestra los acentos,,, alguna idea de por q podrá ser??
ya probé de todas formas y no me funciona correctamente.
sera algo de la BD q tengo q setear???

gracias!!!!!!!!!!!!
sebacipo está desconectado   Responder Citando
Antiguo 02-nov-2006, 22:22   #4 (permalink)
pablasso tiene algunos puntos positivos de karma
 
Avatar de pablasso
 
Fecha de Ingreso: noviembre-2002
Ubicación: Guadalajara, México
Mensajes: 2.603
he ahí un problema bastante común con el que nos topamos todos los programadores hispanos.. no se cual sea tu base de datos, pero debes de verificar que en su configuración soporte y este compilada para soportar tipos de datos con charset latin o utf8, siempre me ha parecido un dolor de cabeza todo eso, me he visto varias veces compilando en gentoo por este tipo de problemas, en el que si fuera un programador de habla inglesa no perdería tiempo, pero bueno.

Otra cosa que hago comunmente es utilizar funciones como CGI.escapeHTML para convertir todos esos caracteres especiales del español a caracteres normales cuando los meta en la BD y al sacarlos los vuelvo a convertir con CGI.unescapeHTML, si es que los necesito para algo ke no sea mostrarlos. Esto ademas le agrega seguridad a tu aplicación, ya que escapas comillas que podrian ser usadas para SQL injection en alguna forma de tus usuarios.

Es el equivalente de la funcion htmlentities y html_entity_decode por si estas familiarizado con PHP
__________________
pablasso.com | ciberpc.com
pablasso está desconectado   Responder Citando
Antiguo 07-nov-2006, 20:26   #5 (permalink)
sebacipo ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2006
Mensajes: 14
aqui encontre la solucion a mi problema de la BD, solo consistia en colocar
encoding:utf8
en el archivo database.yml

espero q a alguien le sea de utilidad

saludos
sebacipo está desconectado   Responder Citando
Antiguo 26-nov-2006, 12:49   #6 (permalink)
daniph está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Ubicación: Gran Canaria (España)
Mensajes: 411
Hola

Pues yo tengo el mismo problema, el puesto el encoding: utf8 en el archivo database.yml la etiqueta meta en el layout:
Código PHP:
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
Pero me sigue mostrando caracteres extraños en las Ñs y tildes, de los resultados de la base de datos...

Alguna sugerencia,

Gracias
daniph está desconectado   Responder Citando
Antiguo 04-dic-2006, 16:52   #7 (permalink)
elgocho ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2006
Mensajes: 2
Hola a la comunidad para solucionar ese problema lo que puedes hacer es lo siguiente, para una palabra como teléfono, la escribes de esta manera tele&acute;fono y así con los demás palabras que tenga asento.
elgocho está desconectado   Responder Citando
Antiguo 29-mar-2007, 18:42   #8 (permalink)
willywg ha deshabilitado el karma
 
Avatar de willywg
 
Fecha de Ingreso: julio-2005
Mensajes: 38
Cool Re: Acentos y "Ñ" en mongrel

En mis tiempos de phpero usaba Iconv para hacer la conversión a UTF-8. Esta libreria creo que también está disponible para Ruby, solo es cuestion de googlear un poco ;)
willywg está desconectado   Responder Citando
Antiguo 29-may-2007, 14:14   #9 (permalink)
sgarza ha deshabilitado el karma
 
Avatar de sgarza
 
Fecha de Ingreso: mayo-2007
Ubicación: San Nicolas de los Garza
Mensajes: 5
Re: Acentos y "Ñ" en mongrel

Si el HTM lo tienes
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

entonces la base de datos la tienes que crear UTF-8

asi no tendrias problema
sgarza está desconectado   Responder Citando
Antiguo 29-may-2007, 17:40   #10 (permalink)
el_ro no se puede cailificar en este momento
 
Fecha de Ingreso: marzo-2007
Mensajes: 134
Re: Acentos y "Ñ" en mongrel

una forma mas facil y rapida es en tu archivo aplication.rb dentro de la carpeta controllers, define una nueva funcion como te digo a continuacion:
Código:
def set_charset
  @headers["Content-Type"] = "text/html; charset=iso-8859-1"
end
y declaras un before_filter :set_charset y listo, ya no habran problemas para usar caracteres especiales, claro que este tipo de charset tambien tiene sus limitaciones, espero te sea util.
el_ro está desconectado   Responder Citando
Respuesta

Calificación: Calificación de Tema: 1 votos, 5,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 13:27.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93