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

SebastiánTenés que controlar que la base de datos guarde con una
codificaciónlatin1 o ISO-8859-1 o iso-8859-15, lo mismo con el editor que uses,
asegúrate de usar la misma
codificación.Cando armes el html también tenes que decirle al browser la
codificación con la que debe mostrar la página en el meta tag
En general configurando el html debería andar, pero para estar seguro
tenes que fijarte que todos guarden y lean de la misma manera.

Saludos.
Hernán

On Oct 30, 2006, at 8:57 PM, Sebs Sebastian wrote:

BD los coloca correctamente, pero en los titulos de las plantillas
(por
ej) no coloca las “Ñ” ni los acentos.

Es importante que todo este cuadrado a una codificacion. Hoy en dia
se recomienda en general trabajar con UTF-8 (en Rails 1.2 el Content-
Type llevara UTF-8 por defecto, y UTF-8 es la codificacion por
defecto en llamadas Ajax por enviarse XML), aunque lo importante es
escoger algo y ser consistente.

Esto es, la cabecera Content-Type debe llevar charset=utf-8 para
respuestas text/html y text/javascript (para ello se suele meter un
filtro en ApplicationController). Aunque es redundante sobre el
papel, a la practica se recomienda repetir el charset en un META de
la pagina misma, normalmente eso va en un layout. Esto afecta en el
cliente tanto a la codificacion usada para mostrar informacion como a
la usada para enviarla.

La base de datos ha de estar configurada con el mismo encoding (y una
collation adecuada), y el driver ha de usarlo, para ello hay una
propiedad “encoding” para el database.yml, su valor depende del
adaptador y para MySQL es “utf8”:

development:
adapter: mysql
database: foo_development
username: bar
password: baz
host: localhost
encoding: utf8

Ademas, el plugin Unicode Hacks se encarga de asegurar que aunque la
conexion se reestablezca el encoding se ponga seguro, cosa que segun
parece no sucede sin mas. Unicode Hacks provee tambien de un filtro
que normaliza los parametros antes de procesarlos.

En el caso de UTF-8 hay que poner en environment.rb

$KCODE = ‘u’

y cargar la libreria estandard ‘jcode’ si se quiere cierto soporte en
la API de cadenas, o bien instalar el plugin Unicode Hacks que
mencione antes, que ofrece tambien algo parecido.

Por ultimo, para que tus propios literales esten correctamente
codificados has de configurar el editor con el encoding escogido.

Si pones cuidado en esos pocos puntos va solo y bien.

– fxn

Hola:

Me permito recomendarte mi blog, ya que en la última entrada trato
sobre ese tema.

http://3eq11.wordpress.com/

Gracias.


“En una época de universal
engaño,decir la verdad constituye un acto
revolucionario” (George Orwell)

Carlos,

Iba a agregarte un comentario en tu blog pero no me dejó. Asi que te
lo hago por esta vía.

Otra forma de indicar a MySQL que la conexión es UTF8 es crear un
before_filter con:

suppress(ActiveRecord::StatementInvalid) do
  ActiveRecord::Base.connection.execute 'SET NAMES UTF8'
end

Salu2

On 11/1/06, Carlos Alonso Martín [email protected] wrote:

“En una época de universal engaño,
decir la verdad constituye un acto
revolucionario” (George Orwell)


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es


Edgar González González
E-mail: [email protected]
http://vp.com.ve
http://lacaraoscura.com
http://rubycorner.com
http://to2blogs.com

Pido disculpas a la lista por el OT, pero no se ha molestado
casi ni en cambiar el título.

Edgar, curratelo la próxima vez en lugar de hacer un copy paste en tu
blog.

ver http://3eq11.wordpress.com/ y http://www.lacaraoscura.com


“En una época de universal
engaño,decir la verdad constituye un acto
revolucionario” (George Orwell)

Off-Topic

Carlos,

Te respondo a tu correo personal

On 11/1/06, Carlos Alonso Martín [email protected] wrote:

revolucionario" (George Orwell)


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es


Edgar González González
E-mail: [email protected]
http://vp.com.ve
http://lacaraoscura.com
http://rubycorner.com
http://to2blogs.com

Perdona, pero estaba en plena edición y supongo que ese será el motivo
por el que no te ha permitido añadir el comentario.

De todos modos tomo nota y lo añado.

Gracias Edgar.

Carlos Alonso Martín

Carlos Alfonso, disculpa si me entrometo en este asunto, pero sin
siquiera tener que preguntarle a Edgar de donde tomó el contenido de
su post, creo que estas equivocado al pensar que hubo algún tipo de
copia o plagio.

De hecho, al principio me confundió un poco esta discusión porque
creí que quien se quejaba era Xavier. Pues si a ver vamos, el post de
lacaraoscura se parece mucho mas a su email que a tu post.

Conozo a Edgar personalmente, y he discutido bastante con el sobre
UTF 8. Me consta que todo lo que dice en su post son ideas que ya
tenia en la cabeza. Tengo la impresion de que se animó a escribirlo
despues de leer el email de Xavier y descubrir la opcion de
“encoding” en database.yml (yo no la conocia, y viendo como Edgar
escribio a la lista sobre el “set names”, creo que el tampoco). Y
Edgar no tiene necesidad de estar copiando posts para llenar su blog
o algo parecido.

Ademas, si a ver vamos, es un poco dificil escribir un post sobre UTF
y Rails que no toque exactamente los mismos puntos que tocan ambos
(donde “ambos” se refiere a Edgar y a ti, no a utf y a rails). Hay
que hablar del editor, de la base de datos, de la conexion, del
KCODE, del Content-Type, etc, etc.

Creo que te apresuraste un poco al hacer acusaciones. Y creo que
hubiera sido mejor contactar a Edgar directamente, preguntarle, e
incluso intercambiar links entre sus posts respectivos.

Gracias
Sebastián
BTW, efectivamente el post de Carlos fue publicado antes que el mio,
por tanto acabó de agregar el link a su post.

Salu2

On 11/1/06, Sebastian D. [email protected] wrote:

UTF 8. Me consta que todo lo que dice en su post son ideas que ya
que hablar del editor, de la base de datos, de la conexion, del

casi ni en cambiar el título.

http://lists.simplelogica.net/mailman/listinfo/ror-es


Edgar González González
E-mail: [email protected]
http://vp.com.ve
http://lacaraoscura.com
http://rubycorner.com
http://to2blogs.com

Pido disculpas a la lista por las formas, es justo reconocer cuando
se comete un error
y yo lo he cometido al precipitarme y por el medio que he empleado.

Acepto todas las críticas habidas y por haber.

Gracias.


“En una época de universal
engaño,decir la verdad constituye un acto
revolucionario” (George Orwell)

gracias a todos, la verdad que lo pude solucionar muy facilmwente
colocando

encoding:utf8

en database.yml !!!
y en el layout coloque

ahora anda todo perfecto, muchas gracias a todos !!!

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs