[R] Traitement de fichier texte unicode

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Traitement de fichier texte unicode

#21

Message par pierrotm777 »

D:\Program Files\Ride Runner\Plugins\RRWebRadio\test.au3 (12) : ==> Subscript used with non-Array variable.:
For $i=1 To $array[0]
For $i=1 To $array^ ERROR
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Traitement de fichier texte unicode

#22

Message par PandiPanda »

hmm le fichier .txt est bel et bien dans le meme répertoire du script? :P
sinon faudra mettre le path adéquat ... dans

Code : Tout sélectionner

_FileReadToArray([color=#FF0000]@ScriptDir&"\test_unicode.txt"[/color],$array)
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Traitement de fichier texte unicode

#23

Message par mikell »

La gaffe :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Traitement de fichier texte unicode

#24

Message par pierrotm777 »

Le script était au mauvais endroit, quel idiot :lol: .

Mais mon but final est un fichier texte formaté différemment ! :(
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Traitement de fichier texte unicode

#25

Message par pierrotm777 »

J'ai essayé ça mais avec le même pb !
_FileWriteFromArray(@ScriptDir&"\test_unicode_new2.txt",$__pierrotm777)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Traitement de fichier texte unicode

#26

Message par mikell »

Code : Tout sélectionner

$file2 = FileOen(@ScriptDir&"\test_unicode_new2.txt", [color=#FF0000]129[/color])
_FileWriteFromArray($file2,$__pierrotm777)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Traitement de fichier texte unicode

#27

Message par PandiPanda »

ceci vous convient? ^^
► Afficher le texte
*Suis pas un expert, mais une grande difference entre UTF16 et UTF8 ? ^^
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Traitement de fichier texte unicode

#28

Message par jchd »

Je suppose que le problème initial tient dans le fait que le fichier texte est au format UTF8 _sans_ BOM. Il n'y a pas de moyen sûr de déterminer par programme si c'est UTF-8 sans BOM ou ANSI ou autre. Le même fichier en UTF-8 avec BOM fonctionne sans problème et sans avoir à rajouter le flag 128 (cf. FileOpen).
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Traitement de fichier texte unicode

#29

Message par pierrotm777 »

Bon , he bien merci à tous de votre intérêt pour mon problème.
Je viens de réaliser que puisque tout allait bien jusqu'à la mise en tableau, le problème venait après !
En fait le problème survient à la sauvegarde dans la fonction _SaveNewFile dans laquelle la fonction FileOpen
n'ouvre pas le nouveau fichier en UTF8:

J'ai donc remplacé :

Code : Tout sélectionner

$hFichier = FileOpen($Fichier, 2)
par

Code : Tout sélectionner

$hFichier = FileOpen($Fichier, 130)
Et là, je conserve bien mes textes en Russe ! :D
La fonction modifiée:
► Afficher le texte
Pas besoin donc d'un _FileReadToArray modifié !

Le script complet est le suivant !
► Afficher le texte
Merci encore une fois à tous !
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Traitement de fichier texte unicode

#30

Message par pierrotm777 »

Juste une dernière question .
Je me suis rendu compte que les lignes comportant le mot CEDEX étaient bien non traitées, mais n'étaient pas effacées du
fichier final, la faute, je pense à la fonction ContinueLoop.
J'ai donc remplacé la ligne:

Code : Tout sélectionner

If StringInStr($Var[2],"CEDEX") Then ContinueLoop;bloque toutes les lignes CEDEX
par la ligne

Code : Tout sélectionner

If StringInStr($Var[2],"CEDEX") Then _ArrayPop($Var);bloque toutes les lignes CEDEX
Cela semble fonctionner !
Ma question est juste ! Es ce la bonne méthode pour effacer les lignes non utiles ? :D
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Traitement de fichier texte unicode

#31

Message par pierrotm777 »

J'ai aussi ajouté l’effacement de la dernière ligne du tableau, (nombre de lignes du tableau) inutile .
Juste ajouter après la ligne:

Code : Tout sélectionner

 _ArrayDelete($aVilles, 0) ; On supprime le nombre d'élément du tableau
la ligne suivante:

Code : Tout sélectionner

_ArrayDelete($aVilles, $aArray[0]) ; On supprime le dernier élément du tableau
Répondre