Problema acentos y eñes

Hola a todos,

Por motivos que no vienen al caso, una aplicación que tengo ha de
crear directorios en una unidad Samba (Z:/).
En un formulario, le pido al usuario el nombre de la carpeta y tras
ello creo el directorio en Z:

Si creo la carpeta con los datos tal me los da el usuario (“sin
limpiar”) no tengo problema, me la crea perfectamente, tenga acentos o
eñes o lo que sea con FileUtils.mkdir(path)
El problema viene en cuando intento, por ejemplo, pasarla a mayúsculas
con un .upcase. Desde ese mismo momento los acentos no me los trata
bien, ni las eñes.

Supongo que es un problema por sistemas de codificación, pero a priori
no sé como solucionarlo… La verdad es que no quiero hacer una
función quita_acentos con 12 gsubs (5 vocales minúscula + 5 vocales
mayúscula + ñ + Ñ)… tiene que existir una forma más elegante de
resolver el problema.

Gracias por adelantado!

Un saludo!

Si tu aplicación es Rails, puedes tratar la cadena como unicode
utilizando
el método chars primero, con lo que path.chars.upcase te debería de
funcionar.

HTH
Juanjo

2008/11/3 Juan José Vidal Agustín [email protected]

Ahora ya no es chars, lo han cambiado a mb_chars.

2008/11/3 Juanjo Bazán [email protected]

2008/11/3 Juan José Vidal Agustín [email protected]

Pero me funciona chars y no mb_chars

Sí, es que chars fue marcado deprecated después de que saliera la 2.1,
mb_chars sólo está en edge de momento hasta que haya 2.2 definitiva

Solucionado:

Pero me funciona chars y no mb_chars
Después de poner esto aún no me funcionaba. El problema era que la
unidad Samba no estaba bien montada, le faltaba en las opciones
iocharset=utf8

Gracias a todos.
Un saludo!

El 03/11/2008, a las 10:43, Nacho Sánchez escribió:

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