Re: [R] Conserver l'encodage fichier > tableau et vice-versa

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
GMH
Niveau 6
Niveau 6
Messages : 214
Enregistré le : dim. 24 juin 2012 14:56
Status : Hors ligne

Re: [R] Conserver l'encodage fichier > tableau et vice-versa

#1

Message par GMH »

Bonjour,

Afin de ranger les lignes d'un fichier par ordre alphabétique, j'utilise la suite de fonctions :

Code : Tout sélectionner

_FileReadToArray (@ScriptDir & "\monFichier.txt", $aArray, 0)
_ArraySort($aArray)
; _ArrayDisplay($aArray)
_FileWriteFromArray(@ScriptDir & "\monFichier.txt", $aArray, 0)
Le tableau conserve bien l'encodage UTF-8 du fichier d'origine.

Mais lors de la reconstruction du fichier, le fichier perd son encodage UTF-8.

Existe-t-il une manipulation supplémentaire à faire, ou un argument à ajouter quelque part ?

Je vous remercie de votre éclairage.
Modifié en dernier par GMH le ven. 19 févr. 2021 16:40, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11638
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Conserver l'encodage fichier > tableau et vice-versa

#2

Message par Tlem »

Bonjour.
Sur l'aide de _FileWriteFromArray il est indiqué que le paramètre $sFilePath doit correspondre au handle de la fonction FileOpen.
Du coup il vous suffit d'ouvrir le fichier pour écriture en spécifiant l'encodage (voir l'aide de FileOpen).
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
GMH
Niveau 6
Niveau 6
Messages : 214
Enregistré le : dim. 24 juin 2012 14:56
Status : Hors ligne

Re: [R] Conserver l'encodage fichier > tableau et vice-versa

#3

Message par GMH »

Bonjour et merci,
Tout le secret était donc là, sous mes yeux, et je n'ai pas su le voir :

Code : Tout sélectionner

_FileReadToArray (@ScriptDir & "\monFichierOrigine.txt", $aArray, 0)
_ArraySort($aArray)
$fichierDestination = FileOpen(@ScriptDir & "\monFichierDestination.txt",2+8+256)
_FileWriteFromArray($fichierDestination, $aArray, 0)
FileClose($fichierDestination)
Merci encore.
Répondre