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

Architecture Discussion :

Gestion des encodages d'un projet.


Sujet :

Architecture

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 24
    Points
    24
    Par défaut Gestion des encodages d'un projet.
    Bonjour.

    Je vois beaucoup de sujets sur les problèmes d'encodage, mais je n'ai jamais trouvé un résumé des solutions "habituelles" à appliquer ou la gestion des best pratice.
    J'avoue avoir toujours extrêmement de mal avec ces problèmes d'encoding, et j'aurais besoin d'un coup de main pour un projet.

    j'ai actuellement une base encodé en ISO-8859-15.
    Je dois développer un web service en java 5.0.
    Le lien avec la base de donnée se réalise avec Hibernate.

    Si je veux développer "proprement" ou dans "les règles de l'art", en quel encoding dois je concevoir mon code java ? puis je le développer en UTF-8 pour que la réponse du web service soit en UTF-8 ? A ce moment Hibernate peut il lire de l'ISO-8859-15 et faire la "conversion" avec l'UTF-8 du code Java ?

    Ou alors dois je écrire mon code en ISO ? D'ailleurs ISO-8859-15 ne semble pas reconnu par Eclipse, puis je alors codé en ISO-8859-1 ?


    Désolé si je me suis trompé de forum, n'hésitez pas à me l'indiquer. Je suis en attente de toute aide possible car je suis véritablement perdu !

    Merci beaucoup d'avance à tous !

  2. #2
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 33
    Points
    33
    Billets dans le blog
    2
    Par défaut
    Déjà, l'encodage des messages XML pour ton web services, des sources java et de la base de données sont complètement indépendants. Donc pas besoin d'avoir le même. Il y a des conversions qui sont réalisées entre chaque couche technique : WS <-> java <-> BD.

    Ensuite, l'encodage des sources java en lui-même n'a strictement aucune importance car de toute façon la compilation passe tout en UTF-16. Il faut juste faire gaffe à donner le bon encodage des sources au compilateur.

    Moi je conseille plutôt UTF-8 pour les sources comme ça on n'est pas limité.
    Sinon Eclipse accepte bien ISO-8859-15 mais il n'est pas dans la combobox de sélection, il faut le rentrer à la main.

    Pour ton web service, si tu ne fais pas tout à la main, ce qui est trés déconseillé, l'encodage est normalement géré par le framework que tu utilises comme JAX-WS. Tu ne devrais donc pas avoir à t'en préoccuper.

    Par rapport à la base de données qui est encodée en ISO-8859-15, tu n'as rien à faire non plus. C'est le client JDBC qui se charge de la conversion. Le seul problème que tu risques de rencontrer c'est des plantages si jamais ton web service reçoit une chaîne à enregistrer en base avec des caractères qui ne sont pas supportés par ISO-8859-15. Dans ce cas, la solution est de changer l'encodage de la base de données pour un autre plus complet comme UTF-8.


    Voilà, j'espère que c'est un peu plus clair pour toi.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    Tout d'abord merci pour cette réponse très claire. En effet je comprends beaucoup mieux les choses. Entre temps j'ai réalisé des tests et j'ai effectivement constaté que mon retour SOAP du web service était encodé en UTF-8 malgré des sources Java en ISO-8859-1.

    Concernant ce web service je travaille actuellement avec OC4J, c'est donc le serveur qui génère tout : mes proxy, mon WSDL, ... mais je n'ai pas trouvé le moyen de configurer l'encodage de la réponse SOAP (qui par défaut à donc l'air d'être en UTF-8 !).


    Par contre, je suis étonné qu'il y ait une conversion automatique entre JAVA et la BDD (j'ai connu des problèmes il y a quelques années, mais je ne serais plus dire dans quelle situation exactement). Mais je suis heureux que ce soit le cas !

    D'ailleurs je vais déborder un peu de l'aspect architecture, mais si je pouvais avoir une réponse, cela me ferait plaisir.
    Pour mon projet je pense travailler avec Hibernate. Après quelques recherches, l'encoding se configure apparemment avec les propriétés suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <property name="hibernate.connection.useUnicode">true</property>
    <property name="hibernate.connection.characterEncoding">ISO-8859-15</property>
    <property name="hibernate.connection.charSet">ISO-8859-15</property
    Seulement impossible de trouver dans quel "sens" cela fonctionnait. Est-ce que ces propriétés doivent indiquer l'encodage de la base ? Pourquoi l'indiquer deux fois ? Une des deux propriétés indique peut être la conversion ?


    Dans les cas, merci beaucoup encore une fois. J'y vois beaucoup plus clair !

  4. #4
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 12
    Points : 33
    Points
    33
    Billets dans le blog
    2
    Par défaut
    Oui, le truc que j'avais oublié, c'est qu'il faut spécifier l'encodage que l'on veut utiliser pour la connexion JDBC. Avec Oracle, il me semble que l'on n'est pas obligé de prendre le même que pour la base. Je ne sais pas si c'est la même chose pour les autres SGBD.

    Quant à ta conf hibernate, désolé, tu me poses une colle.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 24
    Points
    24
    Par défaut
    Il n'y a aucun soucis pour Hibernate ! Je vais poster dans le forum qui va bien .

    En tout cas merci beaucoup, j'y vois enfin plus clair dans cette histoire d'encoding !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des SCD dans un projet Microsoft BI
    Par Go_Ahead dans le forum SSIS
    Réponses: 0
    Dernier message: 17/01/2013, 14h37
  2. Gestion des versions d'un projet VB6
    Par marco62118 dans le forum Discussions diverses
    Réponses: 2
    Dernier message: 16/02/2011, 11h07
  3. Gestion des library dans un projet TomCat
    Par iguan85 dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 15/04/2010, 16h57
  4. Gestion des formulaires dans un projet adp
    Par Jertho dans le forum Modélisation
    Réponses: 1
    Dernier message: 05/10/2009, 16h11
  5. [AJAX] DOM et gestion des encodages
    Par sliderman dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 06/05/2008, 13h06

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