Forum: Rails France Problème d'accent avec Observe_field et j rails

4f81c4625f783336298267bb2dcfc8e3?d=identicon&s=25 Tranquiliste (Guest)
on 2010-02-12 10:45
(Received via mailing list)
Bonjour,
j'ai un observe field comme suit
      <%= observe_field "company_name",
               :url => get_company_infos_path(@building),
               :method => :post,
               :before => "$('#spinner').show()",
               :success => "$('#spinner').hide()",
               :frequency => 2,
               :with => "'company_name='+ escape(value)" %>

il fonctionne bien excepté que si le company name comporte des accents
dans ce qui arrive dans le contrôleur il y a un caractère bizarre.

Si je trace cette variable
avec firebug je vois dans le Post
authenticity_token  df4baff0e63dea3eaa532b650aaaf9856c180823
company_name  La Propreté
Source
company_name=La%20Propret
%E9&authenticity_token=df4baff0e63dea3eaa532b650aaaf9856c180823

et dans le controleur
La Propret�

Est ce qu'il y a une manip particulière à faire pour passer le
paramètre?

Merci d'avance
Nicolas
4f81c4625f783336298267bb2dcfc8e3?d=identicon&s=25 Tranquiliste (Guest)
on 2010-02-13 07:25
(Received via mailing list)
En réfléchissant un peu (ça m'arrive), je me rends compte que mon
problème vient du escape quand je passe le paramètre.
:with => "'company_name='+ escape(value)"
Par contre si je l'enlève, je m'expose, quelle solution j'ai?

Merci
Nicolas
91eb330fb36d1e03c856574dfb77d2bc?d=identicon&s=25 Thibaut Barrère (thbar)
on 2010-02-13 14:36
(Received via mailing list)
Propret%E9

Ca a l'air d'être de l'ISO-8859-1.

Est-ce que le reste de ta page est en UTF-8 ?

-- Thibaut
4f81c4625f783336298267bb2dcfc8e3?d=identicon&s=25 Tranquiliste (Guest)
on 2010-02-13 16:55
(Received via mailing list)
Oui il est en UTF-8
  <meta http-equiv="content-type" content="text/html; charset=UTF8"/>

Tu vois un problème?
91eb330fb36d1e03c856574dfb77d2bc?d=identicon&s=25 Thibaut Barrère (thbar)
on 2010-02-14 00:33
(Received via mailing list)
> Oui il est en UTF-8
>   <meta http-equiv="content-type" content="text/html; charset=UTF8"/>
>
> Tu vois un problème?

Il faudrait vérifier à chaque bout quels sont les encodages
utilisés(dans ton controleur, dans ta vue, dans ta base etc) pour vérifier
qu'ils sont cohérents.

Je pense qu'il y a une incohérence à un endroit. Ca va être dur à
débugger par mail.

-- Thibaut
4f81c4625f783336298267bb2dcfc8e3?d=identicon&s=25 Tranquiliste (Guest)
on 2010-02-14 07:32
(Received via mailing list)
> Il faudrait vérifier à chaque bout quels sont les encodages utilisés
> (dans ton controleur, dans ta vue, dans ta base etc) pour vérifier
> qu'ils sont cohérents.

> -- Thibaut

Merci, visiblement des test que j'ai pu déjà faire, c'est le escape
javascript qui me met ces caractères (c'est d'ailleurs sa fonction) et
tout de suite je ne vois pas pourquoi je faisais ça?

Nicolas
91eb330fb36d1e03c856574dfb77d2bc?d=identicon&s=25 Thibaut Barrère (thbar)
on 2010-02-14 14:51
(Received via mailing list)
> Merci, visiblement des test que j'ai pu déjà faire, c'est le escape
> javascript qui me met ces caractères (c'est d'ailleurs sa fonction) et
> tout de suite je ne vois pas pourquoi je faisais ça?

Doc d'escape: The escape() function encodes a string. This function
makes a string portable, so it can be transmitted across any network
to any computer that supports ASCII characters.

http://www.compoundtheory.com/?action=displayPost&ID=40

Je pense que escape ne conviendra pas pour toi (voir le lien pour une
alternative).

-- Thibaut
This topic is locked and can not be replied to.