[Ror-es] caracteres no ingleses y string.split(//)
Daniel Rodriguez Troitiño
notzcoolx at yahoo.es
Fri Feb 8 18:18:21 GMT 2008
2008/2/8 Fernando Guillen <fguillen.mail at gmail.com>:
> Hola gente.
>
> Seguro que es una pregunta de novato pero no sé como googlear para
> encontrar solución.
>
> Cuando divido una palabra en sus caracteres con .split(//) los
> caracteres especiales no-ingleses me aparecen en formato 'escapado' :
> \nnn
>
> Pasa con cualquier combinación de split que haga:
>
> "ñoño".split(//).each { |l| p l }
> => ["\303", "\261", "o", "\303", "\261", "o"]
>
> "ñoñoyjesús".split(/y/).each { |l| p l }
> => ["\303\261o\303\261o", "jes\303\272s"]
>
> Tengo un problema con esto porque el valor devuelto por el .split lo
> uso luego como clave de un Hash y claro.. no es lo mismo la clave "ñ"
> que la clave "\303", "\261", además que esta última son como si fueran
> dos pasadas del each..
>
> Es como si a cada resultado del .split se le pasara internamente el
> método: .inspect ó .dump
>
> Alguna sugerencias o capón :)
>
> f.
>
> --
> Fernando Guillén
> Desarrollador Web Freelance
> http://www.fernandoguillen.info
> _______________________________________________
> Ror-es mailing list
> Ror-es at lists.simplelogica.net
> http://lists.simplelogica.net/mailman/listinfo/ror-es
>
Si estás utilizando Rails para tratar con caracteres UTF8 siempre
debes utilizar el método chars sobre la cadena:
>> "ñoño".chars.split(//).map &:string
=> ["ñ", "o", "ñ", "o"]
Espero que te sirva.
More information about the Ror-es
mailing list