IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby on Rails Discussion :

un appli ROR full latin1? c'est possible?


Sujet :

Ruby on Rails

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 135
    Points : 94
    Points
    94
    Par défaut un appli ROR full latin1? c'est possible?
    Bonjour,

    Les requête encodées (xmlrequest + httprequest) en utf-8 posent pas mal de problème.
    Tout d'abord au niveau des aplli ror. Un grand nombre de bibliothèques (pdf-writer, RFPDF) etc ... ne supportent pas UTF-8.

    Ensuite , je rencontre des difficultés pour faire des export excel. Les utilisateurs utilisent par default le jeu de caractère ISO-8859-X.

    Enfin il semble difficile de faire des Back office avec des techno style vb,access, etc via driver ODBC/mysql , c'est techno ne supportant pas utf-8.

    D'ou ma question : comment faire une appli qui encode les données en latin (ISO-8859-15).
    Je pense que ça réglerais pas mal de petit soucis.

    Merci

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 172
    Points : 219
    Points
    219
    Par défaut
    Bonjour,

    Citation Envoyé par penguin50 Voir le message
    D'ou ma question : comment faire une appli qui encode les données en latin (ISO-8859-15).
    Je pense que ça réglerais pas mal de petit soucis.

    Merci
    Tu as essayé de mettre une ligne :

    dans ton database.yml, sous l'entrée correspondant à ton accès base ?

    Côme

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 135
    Points : 94
    Points
    94
    Par défaut
    Merci pour ta réponse Come.

    Je viens de tester et ca genere ce bug quand je fais un db:migrate

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    rake aborted!
    Mysql::Error: #42000Unknown character set: 'ISO-8859-15': SET NAMES 'ISO-8859-15'
    Par contre avec :
    il n'ya pas de bug mais ca ne régle pas mon probleme.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Et en mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      before_filter :headers_iso
      def headers_iso
        headers["content-type"]= "text/html; charset=iso-8859-15"
      end
    dans ton application controller ?

  5. #5
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Est-ce que ce ne serai pas un problème d'encodage des fichiers de ton projet Rails ?

    Sous aptana :

    - clic droit sur la racine du projet => propriétés
    - codage du fichier texte => iso-8859-1
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 135
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par Lokieinfrekkr Voir le message
    Et en mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      before_filter :headers_iso
      def headers_iso
        headers["content-type"]= "text/html; charset=iso-8859-15"
      end
    dans ton application controller ?
    Effectivement Cela rélge le probleme pour les requetes HTTP mais pas le pour les requetes AJAX

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 135
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par titoumimi Voir le message
    Est-ce que ce ne serai pas un problème d'encodage des fichiers de ton projet Rails ?

    Sous aptana :

    - clic droit sur la racine du projet => propriétés
    - codage du fichier texte => iso-8859-1
    j'ai tester aussi , pas d'impact sur les requete AJAX

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 104
    Points : 120
    Points
    120
    Par défaut
    Je peux me planter, mais si tu frais vraiment de l'AJAX (et pas de l'AJAH), le accept header est en text/xml et non text/html, donc il faut que dans ta fonction headers_iso tu définisses le content-type en text/html ou text/xml selon ce qui est demandé.
    Ah et oublie pas que si tu sers un fichier XML, l'encodage par défaut c'est de l'UTF8 également, donc oublie pas de spécifier que tu sers de l'ASCII dans le prologue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="ISO-8859-1"?>
    Par contre je pense que plutôt que de passer toute ton appli en ISO, il aurait mieux valu tout conserver en UTF8 et ne passer en ISO (via une fonction de conversion) que pour les lib en ayant besoin...

  9. #9
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 68
    Points : 61
    Points
    61
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      before_filter :headers_iso
      def headers_iso
        if request.xhr?
          headers["content-type"]= "text/javascript; charset=iso-8859-1"
        else
          headers["content-type"]= "text/html; charset=iso-8859-1"
        end
      end

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 135
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par SekYo Voir le message
    Je peux me planter, mais si tu frais vraiment de l'AJAX (et pas de l'AJAH), le accept header est en text/xml et non text/html, donc il faut que dans ta fonction headers_iso tu définisses le content-type en text/html ou text/xml selon ce qui est demandé.
    Ah et oublie pas que si tu sers un fichier XML, l'encodage par défaut c'est de l'UTF8 également, donc oublie pas de spécifier que tu sers de l'ASCII dans le prologue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="ISO-8859-1"?>
    Par contre je pense que plutôt que de passer toute ton appli en ISO, il aurait mieux valu tout conserver en UTF8 et ne passer en ISO (via une fonction de conversion) que pour les lib en ayant besoin...
    Je comprend pas bien "oublie pas de spécifier que tu sers de l'ASCII dans le prologue" a quel endroit je doit effectuer ce paramétrage.

    Je peux pas conserver UTF8 car d'autres appli viennent utiliser la db. On fait des etats avec Jasper reports par exemple, il y'a également des appli Access qui viennent se connecter à la db via des driver odbc.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 135
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par bab_dev Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      before_filter :headers_iso
      def headers_iso
        if request.xhr?
          headers["content-type"]= "text/javascript; charset=iso-8859-1"
        else
          headers["content-type"]= "text/html; charset=iso-8859-1"
        end
      end
    fonctionne pour les requetes serveur non ajax. Mais avec les requetes ajax ca marche pas.

    Je commence à désespérer de ne pas pouvoir faire de l'ajax.
    Ca va être mon combat pour 2008

Discussions similaires

  1. [2.x] appli symfony2 sans symfony c'est possible ?
    Par cmoicmoi dans le forum Symfony
    Réponses: 7
    Dernier message: 10/02/2015, 15h31
  2. Appli JAVA sans JRE : C'est possible ?
    Par bigsister dans le forum Servlets/JSP
    Réponses: 20
    Dernier message: 12/01/2009, 18h55
  3. Réponses: 2
    Dernier message: 09/12/2005, 22h40
  4. Réponses: 1
    Dernier message: 18/06/2004, 01h12
  5. Réponses: 2
    Dernier message: 16/07/2003, 14h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo