Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Ruby (http://www.forosdelweb.com/f105/)
-   -   Acentos y "Ñ" en mongrel (http://www.forosdelweb.com/f105/acentos-n-mongrel-438883/)

sebacipo 30/10/2006 12:50

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

pablasso 02/11/2006 00:12

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

sebacipo 02/11/2006 16:52

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!!!!!!!!!!!!

pablasso 02/11/2006 23:22

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

sebacipo 07/11/2006 21:26

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

daniph 26/11/2006 13:49

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

elgocho 04/12/2006 17:52

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.

willywg 29/03/2007 18:42

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 ;)

sgarza 29/05/2007 14:14

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

el_ro 29/05/2007 17:40

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.


La zona horaria es GMT -6. Ahora son las 20:46.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.