Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Voici mon problème :
Nous avons un programme qui génére des commandes à partir d'un fichier texte (linemode!)
Le programme marche tres bien si le fichier texte ne contient pas d'accent.
Par contre, des qu'il y a des accents, le programme interprete mal les accents et les traduit par plusieurs caractères, d'où un décalage => erreur)
Après recherche, il s'avére que le fichier texte est encodé en UTF-8 (ouverture du fichier avec bloc-notes puis en faisant enregistrer sous, nous voyons le codage)
En lisant la doc sur PB concernant la lecture des fichiers, il est dit que PB gére ce type de fichier !!!!!!
Nous avons voulu utiliser l'instruction <fileencoding> pour déterminer le type de codage du fichier.
On dirait que la fonction ne marche pas car il nous renvoie <encodeansi!>
Il considére le fichier codifié en ANSI, d'où le problème de conversion d'accent
Quelqu'un a-t-il déjà utiliser la fonction <fileencoding> et le format <encodeUTF-8> ??
Nous aurions besion de savoir le format du fichier texte afin d'effectuer ou non une conversion de celui au format désiré.
Nous savons convertir un fichier texte UTF-8 en ANSI.
encoding eRet setnull(eRet) //Chargement du nom du fichier ls_nomfile = f_string(sle_file.text) if ls_nomfile = '' then messagebox ("Erreur", "Pas de Fichier") return end if // Test de l'encodage du fichier eRet = FileEncoding(ls_nomfile) if eRet = EncodingANSI! then messagebox ("INFORMATION", "Le fichier est de type : ANSI") end if if eRet = EncodingUTF8! then messagebox ("INFORMATION", "Le fichier est de type : UTF8") end if if eRet = EncodingUTF16LE! then messagebox ("INFORMATION", "Le fichier est de type : UTF16LE") end if if eRet = EncodingUTF16BE! then messagebox ("INFORMATION", "Le fichier est de type : UTF16BE") end if
La valeur de eRet = EncodingANSI! pour le fichier de type UTF-8 !!!!
D'avance merci pour vos réponses ou vos précisions
Le gone de Lyon
Hors ligne