[R] Traitement de fichier texte unicode
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Traitement de fichier texte unicode
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
For $i=1 To $array[0]
For $i=1 To $array^ ERROR
- PandiPanda
- Membre émérite

- Messages : 656
- Enregistré le : mar. 19 juil. 2011 14:03
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] Traitement de fichier texte unicode
hmm le fichier .txt est bel et bien dans le meme répertoire du script? 
sinon faudra mettre le path adéquat ... dans
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
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Traitement de fichier texte unicode
La gaffe 
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Traitement de fichier texte unicode
Le script était au mauvais endroit, quel idiot
.
Mais mon but final est un fichier texte formaté différemment !
Mais mon but final est un fichier texte formaté différemment !
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Traitement de fichier texte unicode
J'ai essayé ça mais avec le même pb !
_FileWriteFromArray(@ScriptDir&"\test_unicode_new2.txt",$__pierrotm777)
_FileWriteFromArray(@ScriptDir&"\test_unicode_new2.txt",$__pierrotm777)
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Traitement de fichier texte unicode
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 )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- PandiPanda
- Membre émérite

- Messages : 656
- Enregistré le : mar. 19 juil. 2011 14:03
- Localisation : Bruxelles
- Status : Hors ligne
Re: [..] Traitement de fichier texte unicode
ceci vous convient? ^^
*Suis pas un expert, mais une grande difference entre UTF16 et UTF8 ? ^^
► Afficher le texte
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
- jchd
- 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
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

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Traitement de fichier texte unicode
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é :
par
Et là, je conserve bien mes textes en Russe !
La fonction modifiée:
Pas besoin donc d'un _FileReadToArray modifié !
Le script complet est le suivant !
Merci encore une fois à tous !
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)Code : Tout sélectionner
$hFichier = FileOpen($Fichier, 130)La fonction modifiée:
► Afficher le texte
Le script complet est le suivant !
► Afficher le texte
-
pierrotm777
- 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
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:
par la ligne
Cela semble fonctionner !
Ma question est juste ! Es ce la bonne méthode pour effacer les lignes non utiles ?
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 CEDEXCode : Tout sélectionner
If StringInStr($Var[2],"CEDEX") Then _ArrayPop($Var);bloque toutes les lignes CEDEXMa question est juste ! Es ce la bonne méthode pour effacer les lignes non utiles ?
-
pierrotm777
- 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
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:
la ligne suivante:
Juste ajouter après la ligne:
Code : Tout sélectionner
_ArrayDelete($aVilles, 0) ; On supprime le nombre d'élément du tableauCode : Tout sélectionner
_ArrayDelete($aVilles, $aArray[0]) ; On supprime le dernier élément du tableau