Oui, je réalise que cette fonction n'est pas optimale, mais étant peu
expérimenté en Ruby, c'était la solution la plus claire.
Mais de toute façon, elle ne marche pas dans mon cas : lorsque je fais
tourner l'application dans le débogueur, je vois que Ruby ne reconnaît
pas les caractères accentués reçus via une URL et les affiche comme des
données binaires... Pourtant, ils semblent bien encodés dans l'URL ; la
console affiche ceci :
Parameters: {... "description"=>"ÂÄéèÊËçîïÏÔü", "controller"=>...}
http://localhost/wrk_vpreparations/by_multi_criteria_xml?description=%C2%C4%E9%E8%CA%CB%E7%EE%EF%CF%D4%FC.......
SELECT DESC_FR FROM wrk_vpreparations WHERE (upper( desc_fr ) like
'%ÂÄéèÊËçîïÏÔü%')
Donc on voit bien que toutes les lettres accentuées sont bien passées
via l'URL, mais dans le SELECT, elles devraient avoir été converties en
AAEEEECIIIOU (j'applique d'abord la fonction remove_accents(), puis
upcase).
C'est bien au niveau de Ruby que ça déconne, parce que si j'essaie de
faire un simple "é".upcase dans script/console (irb de RadRails), ça
plante... En revanche, la même chose dans irb en ligne de commande
renvoie "\202" ; je n'y comprends plus rien !
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---