Forum: Rails France accents ... encore et toujours

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
3236722a5da274eead34801f10c67e9f?d=identicon&s=25 Didier Vaiser (Guest)
on 2006-05-17 17:18
(Received via mailing list)
Bonjour,

voici ci-dessous un résumé de mes observations dans un de mes premiers
développements rails... Ce qui explique sûrement la question ;-)

Merci d'avance pour toute contribution à l'éclairage de ma lanterne !

Didier

.....................................................................


Description de l'environnement :
--------------------------------
* Windows (aïe non pas la lapidation !) 2000 Pro Français
* Rails : 1.1.2
* Ruby : 1.8.2
* MySQL : 4.1.14
* Document html commençant par :

   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html;
charset=UTF-8"/>


Description du problème :
-------------------------

* Rendu (sous Firefox) normal (character-encoding : UTF-8)

Description: Blème
Reporter: didier
Created at: Wed May 17 16:43:06 Paris, Madrid (heure d'?t?) 2006


* Rendu en forçant character-encoding de Firefox à ISO-8859-1

Description: Blème
Reporter: didier
Created at: Wed May 17 16:43:06 Paris, Madrid (heure d'été) 2006

=> pas mieux, que du contraire !


Je me pose deux question :
**************************
1) pourquoi le mélange de langues ?
2) pourquoi le mauvais affichage du mot "été" ?
91eb330fb36d1e03c856574dfb77d2bc?d=identicon&s=25 Thibaut Barrère (thbar)
on 2006-05-17 17:25
(Received via mailing list)
> Description: Blème
> Reporter: didier
> Created at: Wed May 17 16:43:06 Paris, Madrid (heure d'?t?) 2006

tu ne mettrais pas à jour un partial via un RJS ou autre appel ajax ?

je pense qu'il ne doit pas être (lui) dans le bon encodage
F16def8015a7562a285c65a14be48540?d=identicon&s=25 Mathieu Chappuis (Guest)
on 2006-05-17 17:28
(Received via mailing list)
Je commence comme ça..

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
C2abf44b564df20d54fdd89ac085d7ba?d=identicon&s=25 Bastien Quelen (banux)
on 2006-05-17 17:40
(Received via mailing list)
Bonjour

A mon avis il faudrait regarder du coté du charset de la base de donnée.
La date semble sortir au format ISO-8859-1 et le texte encodé en UTF-8.


Le 17/05/06, Didier Vaiser <dvaiser@cirb.irisnet.be> a écrit :
58a62321e4961bb65cc202bfd9cc963a?d=identicon&s=25 Ollivier Robert (keltia)
on 2006-05-17 17:41
(Received via mailing list)
On 5/17/06, Mathieu Chappuis <mathieu.chappuis.lists@gmail.com> wrote:
>
> Je commence comme ça..
>
> <?xml version="1.0" encoding="UTF-8"?>


UTF-8 est l"encodage par défaut en XHTML donc pas besoin en soi.

Vu que le problème sus-nommé arrive dans une date, je soupçonne Didier
d'avoir une machine dont la "locale" n'est pas correcte (i.e. pas UTF-8)
et
donc le résultat de ctime/asctime qui fait la conversion est en
Latin1/9.

Je suggère un LANG=fr_FR.UTF-8 quelque part mais j'ai une totale
ignorance
de comment faire ça sous Windows.
Fd608c2b5ba7896b449e26fcf18b70b4?d=identicon&s=25 Zambra (Guest)
on 2006-05-17 18:13
(Received via mailing list)
Bastien Quelen a écrit :
> Bonjour
>
> A mon avis il faudrait regarder du coté du charset de la base de donnée.
> La date semble sortir au format ISO-8859-1 et le texte encodé en UTF-8.

Soit la base n'est pas en UTF8, soit c'est l'éditeur qui a enregistré la
page qui ne l'a pas fait en UTF8. Quel est l'éditeur/IDE ?
1bb13907d5b8380fb5b65093ab8359b5?d=identicon&s=25 Eric Daspet (Guest)
on 2006-05-17 18:19
(Received via mailing list)
> On 5/17/06, Mathieu Chappuis <mathieu.chappuis.lists@gmail.com> wrote:
>>
>> Je commence comme ça..
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>
>
> UTF-8 est l"encodage par défaut en XHTML donc pas besoin en soi.

Ce n'est pas tout à fait vrai et c'est une situation fondamentalement
ambigue.

Déjà parce que ton XHTML est très probablement envoyé en tant que
text/html et pas en tant que application/xhtml+xml. Du coup le moteur
n'a
à respecter que les règles HTTP et HTML. Bref, dans ces cas là ce qui
prime c'est la présence du codage caractère dans l'entête Content-Type.

A défaut de spécification explicite c'est de l'ISO-8859-1 (le défaut HTTP)
et pas de l'UTF-8 qui devrait être lu.

Bref, si rien n'est explicite dans l'entête HTTP et qu'il utilise une
déclaration text/html il fait très bien de déclarer le jeu de caractères
dans le prologue.




Et même dans le cas d'un document envoyé en tant que xhtml/xml, c'est
finalement ambigue. La norme XML nous dit :
"""In the absence of information provided by an external transport
protocol (e.g. HTTP or MIME), it is a fatal error [...] for an entity
which begins with neither a Byte Order Mark nor an encoding declaration
to
use an encoding other than UTF-8. Note that since ASCII is a subset of
UTF-8, ordinary ASCII entities do not strictly need an encoding
declaration."""

Bref, si tu as un bête fichir sur disque, le codage par défaut est bien de
l'UTF-8. Par contre si tu passes sur HTTP, il y a bien une information
de
codage fournie par la couche transport (soit explicite, soit implicite
c'est à dire de l'iso-8859-1) donc tu as le droit d'utiliser un autre
codage que l'UTF-8 sans le spécifier dans le doc XML. Et pas réciprocité
si tu ne spécifies rien et que tu es en HTTP, un moteur pourrait
interpréter la norme en disant "mon xml est en iso8859-1".

Je disais ambigue parce que la question est de savoir si un codage
implicite (par défaut) est considéré comme "provided by" ou pas.
Bref, même envoyé en application/xhtml+xml il vaut mieux utiliser une
déclaration de codage caractère dans le prologue. Ca a le mérite de lever
tout problème.



Oui le codage

--
Eric Daspet
91eb330fb36d1e03c856574dfb77d2bc?d=identicon&s=25 Thibaut Barrère (thbar)
on 2006-05-17 18:25
(Received via mailing list)
Didier, peux-tu nous soumettre une partie du code de ton controleur et
de ta
vue ?
C4b55bdba874e006c4654433e4ef0abd?d=identicon&s=25 Didier Vaiser (Guest)
on 2006-05-17 21:22
(Received via mailing list)
Thibaut Barrère a écrit :
> Didier, peux-tu nous soumettre une partie du code de ton controleur et
> de ta vue ?
>

Il semble que cela soit lié à l'OS ... Je réessaie chez moi et que ne
constaté-je point la disparition des termes "heure d'été" !!!

Ici j'ai un Windows XP Pro en français.

La conclusion : j'abandonne les OS en français et surtout Windows
(quelle que soit la locale) ! Cet OS est épouvantable. Enfin quand je
dis "j'abandonne", euh ... je vais essayer d'abandonner :D


Concernant les pistes évoquées:
  - Thibaut : aucun RJS ou AJAX, même pas de trace de "8859" dans aucun
fichier du projet
  - Bastien : DB ok, en UTF-8
  - Zambra : quel lien entre les données créées par l'application en
utilisation et l'IDE ayant servi à créer cette application, là je pige pas !

In fine, je rejoins l'hypothèse d'Olivier sur la "locale" comme la plus
vraisemblable dans le cas présent. Mais j'essaierai les déclarations de
Matthieu dès mon retour au bureau demain. Si ça marche je vous tiens
informés.

Merci à tous,



et à bientôt donc pour mes prochains déboires ... sous Linux !

Didier
F16def8015a7562a285c65a14be48540?d=identicon&s=25 Mathieu Chappuis (Guest)
on 2006-05-18 09:02
(Received via mailing list)
Je crois me souvenir, et désolé pas le temps de tester :

J'ai ajouté l'encoding ici, pour que celà passe avec IE + Webrick

<?xml version="1.0" encoding="UTF-8"?>

Firefox n'en avait pas besoin. Il utilisait sûrement la déclaration du
meta plus loin.

Sous apache j'utilisais AddDefaultCharset utf-8 dans mon VHOST, mais
il me semble que ça n'avait pas d'effet vu que les entètes étaient
déjà bien renseignées, mais sert toujours pour les pages statiques.

Et cerise confite sous IIS il fallait aussi faire une bidouille pour
que ça passe avec IE.
002b13b61794fed44d6b3b6967d7e51d?d=identicon&s=25 Emmanuel Netter (Guest)
on 2006-06-23 09:19
La soluce donnée dans un autre fil :

A ajouter dans app/controllers/application.rb

before_filter :set_charset
      def set_charset
          @headers["Content-Type"] = "text/html; charset=iso-8859-1"
      end


Mathieu Chappuis wrote:
> Je crois me souvenir, et d鳯l頰as le temps de tester :
>
> J'ai ajouté ¬'encoding ici, pour que celà °asse avec IE + Webrick
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> Firefox n'en avait pas besoin. Il utilisait s?nt la d飬aration du
> meta plus loin.
>
> Sous apache j'utilisais AddDefaultCharset utf-8 dans mon VHOST, mais
> il me semble que ç¡ n'avait pas d'effet vu que les entè´¥s é´¡ient
> d骠 bien renseign饳, mais sert toujours pour les pages statiques.
>
> Et cerise confite sous IIS il fallait aussi faire une bidouille pour
> que ç¡ passe avec IE.
27c126b69ee080108f979b1e8f610d65?d=identicon&s=25 Nicolas Paton (Guest)
on 2006-06-23 18:43
(Received via mailing list)
Salut,

Je crains de ne plus voir assez clairement mon code. Ou il y a un
truc que je n'ai pas saisi mais j'ai vérifié sur 150 sources et j'ai
l'impression de ne pas m'être
trompé.Est que quelqu'un voit une erreur là-dedans :

<%= collection_select :customer, :id, @customers, :id, :name %>

<%= observe_field 'customer_id',
				   :url => {:controller => 'admin', :action => 'find_users'},
				   :frequency => 0,
				   :with => 'customer' %>

J'ai testé tout le reste, ça marche (l'url, le contrôleur et le RJS).

Dans FireBug, aucune requête ajax ne se déclenche au changement
d'état du sélecteur...

Et je n'ai évidemment pas oublié prototype et cie. D'autres fonctions
ajax sur la page marchent.

Merci d'avance,
Nicolas_______________________________________________
Railsfrance mailing list
Railsfrance@rubyonrails.fr
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance
This topic is locked and can not be replied to.