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

Talend Discussion :

Problème é converti en ?


Sujet :

Talend

  1. #1
    Membre habitué
    Problème é converti en ?
    Bonjour,

    j'utilise TOS for ESB 7.1.1 et j'ai un problème d'encodage lors d'une requête SQL via un tDBInput. J'utilise un fichier de context CSV pour faire ma requête comme ceci :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    "SELECT "+context.SelectClause+"
    FROM "+context.FromClause+"  
    WHERE "+context.WhereClause


    Cependant dans mon fichier CSV et notamment sur la ligne contenant le WhereClause des 'é' sont présent, je fais un select pour retrouver les ID dont une colonne possède les mots 'Livré' ou 'Retiré'.
    J'ai fait un SysOut pour afficher ma requête puisqu'aucun résultat n'est trouvé (normalement j'en ai 112) et je me suis aperçu que mes é avaient été converti en ? .
    J'ai essayé avec tChangeFileEncoding de passer mon fichier en UTF-8 mais j'ai toujours le remplacement de mon caractère.

    Est-ce que quelqu'un serait familier ou aurait une solution à ce problème ?

    Merci.

    EDIT 1 : Quand je mets l'encodage du tChangeFileEncoding sur UTF-8 le 'é' est remplacé par 'é' et quand je mets l'encodage sur ISO-8859-15 le 'é' est remplacé par '?'.

    EDIT 2 : Quand je vais dans Fenêtre -> Préférences -> Talend -> Exéc/Debug , j'ajoute -Dfile.encoding=UTF-8 en argument VM d'exécution de job. Alors mes 'é' sont converti en '�' dans la console.

  2. #2
    Membre habitué
    J'ai ouvert mon CSV avec Notepad++, dans le menu déroulant "Encoding" j'ai sélectionné UTF-8 j'ai enregistré mon fichier. J'ai lancé mon Job et les caractères spéciaux se sont correctement affichés.